python appium api_Appium框架API学习(一)

本教程是基于本人学习android NativeApp自动化测试过程积累总结的,学习过程用到的工具是appium+python+UIAutomator+android手机+待测APP!

一、准备定位工具

首先我们需要先下载android studio,然后安装android sdk,在系统变量里添加export ANDROID_HOME="/Users/xxx/Library/Android/sdk"。我们需要的工具就是uiautomator,它在android_sdk/tools/uiautomatorviewer里。

二、启动定位工具

1、在终端上用命令进入tools目录,我的tools目录在/Users/wuyanjiao/Library/Android/sdk/tools,然后直接执行命令./uiautomatorviewer,当看到如下页面就表示工具启动成功。

ba03437f78ba

定位工具

2、手机连接上电脑

用数据线把手机和电脑连接上,并把手机设置成开发者模式,USB调试开启。然后在终端上执行adb devices,可以查看是否连接成功。连接成功后,我们在手机上打开待测APP,在这里我以自带计算器APP为例。打开后,点击图片中左上角第二个按钮,就可以看到app的页面元素了。想要找哪个元素,鼠标移动到上面,就可以看到详细的元素了。

ba03437f78ba

image.png

三、基本定位元素方法

1、find_element_by_id()

当遇到resource-id有唯一值。以定位计算器上8这个元素并点击为例:

number8 = self.driver.find_element_by_id("digit8")

number8.click()

2、find_elements_by_id()

当遇到的resource-id有多个相同的值,可以使用该方法。以元素在列表中的位置来定位,以定位计算器上的8并点击为例:

elements = self.driver.find_elements_by_id("digit8")

elements[0].click()

3、find_element_by_accessibility()

当某个元素的content-desc有值的时候,可以使用该方法。以定位计算器上的÷号为例:

element = self.driver.find_element_by_accessibility_id(u"除")

element.click()

4、find_elements_by_accessibility()

当页面的content-desc值有多个相同的时候,可以使用该方法。以定位计算器上的÷号为例:

elements = self.driver.find_elements_by_accessibility_id(u"除")

elements[0].click()

5、find_element_by_class_name()

当页面的class有值的时候,可以使用该方法,以向计算器上的输入框输入数字为例:

input=self.driver.find_element_by_class_name("android.widget.EditText")

input.send_keys("10")

6、find_elements_by_class_name()

当页面的class有多个值的时候,可以使用该方法,以向计算器上的输入框输入数字为例:

input=self.driver.find_elements_by_class_name("android.widget.EditText")

input[0].send_keys("10")

7、press_keycode()

该方法是发送键值,以下是部分键值,例如手机上的按键“0”它的键值是7,手机上的按键“1”,它的键值是8。若要了解更详细的android键值表,可以访问此链接:http://www.cnblogs.com/larack/p/4223465.html

ba03437f78ba

image.png

以下是计算器计算10除以5的具体代码:

#输入10

self.driver.press_keycode(8)

self.driver.press_keycode(7)

#点击除号

element = self.driver.find_element_by_accessibility_id(u"除")

element.click()

#输入5

self.driver.press_keycode(12)

#点击=号

equal = self.driver.find_element_by_id("equal")

equal.click()

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值