Appium-java API详解

目前appium-java最新版本是5.0.0-BETA3,因此就拿最新的说明,以Java为例,首先引入java client的依赖:
 <dependency>
            <groupId>io.appium</groupId>
            <artifactId>java-client</artifactId>
            <version>5.0.0-BETA3</version>
        </dependency>

附java-client版本演进文档

API主要分为两类,分别是元素定位类和模拟操作类。
元素定位类findElementByXX
  • driver.findElementById(“id”);
    id获取方法:利用uiautomater截屏,获取resource id;
  • driver.findElementByClassName(“className”);
    通常通过这种方式获取的view不止一个,需要遍历一遍得到的 views,然后根据条件匹配需要的view。
  • driver.findElementByName(“text”);
    name获取方法:利用uiautomater截屏,获取text;
  • driver.findElementsByLinkText (“text”);
    针对webview上元素的超链接
  • driver.findElementByXPath(“//*[@name=’62’]”);
    举例,我要定位下图页面中的这个元素,我采用xpath定位时,可以这样写:
WebElement webElement = driver.findElementByXPath("//android.widget.TextView[contains(@text,'商品描述')]");
    webElement.click();

这里写图片描述

查找多元素时,直接用相应的findElementsByXX即可。

模拟操作类
  • driver.runAppInBackground(5); //将当前活跃的应用放在后台运行
  • driver.hideKeyboard(); //隐藏键盘
  • driver.lockDevice(); //锁屏
  • driver.openNotifications(); //打开Android的下拉通知栏
  • driver.isAppInstalled(“com.example.android.apis”) //判断应用是否安装
  • driver.installApp(“path/to/my.apk”) //安装应用
  • driver.removeApp(“com.example.android.apis”) //卸载应用
  • driver.closeApp() //关闭App
  • driver.getContextHandles() //可用上下文,context可以理解为可进入的窗口,如果是native则为native_app,如果是webview为对应webview;
  • driver.context(); //设置上下文 (context),对hybrid app会用到
  • driver.getAppStringMap(); //获取应用的字符串
  • driver.pressKeyCode(AndroidKeyCode.HOME); //给设备发送一个按键事件,所有键盘按键值可参考AndroidKeyCode类
  • driver.pullFile(“Library/AddressBook/AddressBook.sqlitedb”); //从设备中拉出文件
  • driver.pullFolder(“Library/AddressBook”); //从设备中拉出文件夹
  • driver.PushFile(“/data/local/tmp/file.txt”, “some data for the file”); //推送文件到设备中去
  • driver.swipe(75, 500, 75, 0, 0.8) //模拟用户滑动
  • driver.Manage().Timeouts().ImplicitlyWait(TimeSpan.FromSeconds(1)); //设置等待时间
  • driver.navigate().forward(); // 前进
  • driver.navigate().back(); // 后退
  • driver.navigate().refresh(); // 刷新
  • driver.currentActivity(); //当前activity,可用于断言跳转是否正确
  • driver.startActivity(appPackage,appActivity); //启动其他app的activity
  • 坐标操作,降低适配带来的不适用:
    double Screen_X = driver.Manage().Window.Size.Width;//获取手机屏幕宽度
    double Screen_Y = driver.Manage().Window.Size.Height;//获取手机屏幕高度
    double startX = element.Location.X; //获取元素的起点坐标,即元素最左上角点的横坐标
    double startY = element.Location.Y; //获取元素的起点坐标,即元素最左上角点的纵坐标
    double elementWidth = element.Size.Width; //获取元素的宽度
    double elementHight = element.Size.Height; //获取元素的宽度

我对照着看了appium-client的官方文档,然后对着demo演示,发现一些个别API都找不到,查了下资料才发现,问题出现在:

public static AppiumDriver driver;

如果改成这样就ok了:

public static AndroidDriver driver;

这里要说下AppiumDriver和AndroiDriver的关系,AndroidDriver已经继承了AppiumDriver,在AppiumDriver基础上再封装一些基本功能。而AppiumDrvier是原生webdriver的子类,所以一些webdriver的方法都是适用的。

因此我推荐适用实例化AndroiDriver对象。
  • 2
    点赞
  • 33
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
### 回答1: appium-python-client安装包可以通过pip命令进行安装,具体步骤如下: 1. 打开命令行工具(如Windows下的cmd或者Linux下的终端),输入以下命令安装pip: ``` sudo apt-get install python-pip ``` 2. 安装appium-python-client,输入以下命令: ``` pip install Appium-Python-Client ``` 3. 等待安装完成即可使用appium-python-client。 ### 回答2: appium-python-client是一个用于进行移动应用测试的Python库。它作为Appium测试框架的一个客户端,提供了许多功能和方法来编写和执行测试脚本。 要安装appium-python-client,需要先确保已经安装了Python环境。以下是安装appium-python-client的步骤: 1. 打开终端或命令提示符,并进入到所需的Python项目目录。 2. 使用pip命令安装appium-python-client。在终端或命令提示符中输入以下命令: pip install Appium-Python-Client 在执行命令后,pip会从Python Package Index(PyPI)上下载并安装appium-python-client。 安装完成后,您可以在Python脚本中导入appium-python-client并开始编写测试代码。 例如,您可以使用以下命令导入appium-python-client库: ```python from appium import webdriver ``` 然后,您可以使用appium-python-client提供的方法来启动Appium服务器、初始化移动设备连接、定位元素,并执行各种移动应用测试操作。 总结: appium-python-client是一个用于进行移动应用测试的Python库,可以通过pip命令进行安装。安装完成后,您可以在Python脚本中导入该库并使用其提供的方法来编写和执行移动应用测试脚本。 ### 回答3: appium-python-client是一个用于与Appium服务器进行通信的Python库。要安装appium-python-client,您可以按照以下步骤进行操作: 1. 确保您的电脑已经安装了Python解释器。您可以通过在命令行中输入“python --version”来验证Python是否已经安装。 2. 打开命令行或终端,并输入以下命令来安装appium-python-client: ``` pip install Appium-Python-Client ``` 注意:您需要确保您的电脑已经安装了pip,它是一个用于安装Python库的包管理工具。如果您的电脑上没有安装pip,您可以通过以下命令来安装它: ``` python -m ensurepip --upgrade ``` 3. 安装完成后,您可以在Python脚本中导入appium-python-client模块并使用它来与Appium服务器进行通信。例如,您可以使用以下代码示例来连接到Appium服务器: ```python from appium import webdriver desired_caps = { 'platformName': 'Android', 'platformVersion': '9', 'deviceName': 'Android Emulator', 'app': 'path/to/your/app.apk' } driver = webdriver.Remote('http://localhost:4723/wd/hub', desired_caps) ``` 这将创建一个WebDriver实例,用于控制连接到Appium服务器的设备。您可以使用WebDriver实例来执行各种测试操作,例如查找元素、发送输入等。 通过按照以上步骤安装appium-python-client,您就可以在Python中使用它来创建和执行Appium测试。
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值