其中,有两个变量 "platformVersion" 和 "deviceName" 需要大家自行修改,可通过以下命令获取测试设备系统版本号和设备名
adb shell getprop ro.build.version.release //获取测试设备系统版本号 adb devices //获取设备名6、在 tearDown() 中调用 quit(),退出driver,关闭被测应用所有的关联窗口
#TearDown,case运行后的环境恢复 def tearDown(self): # pass #退出driver,关闭被测应用所有的关联窗口 self.driver.quit()7、至此,一个基础的 Appium 自动化测试脚本已编写完成。通过终端(Terminal)进入脚本所在的目录,输入以下语句运行脚本
python calculator_test.py 自动化测试用例的编写在完成上述步骤后,一个基础的自动化测试脚本便生成了。接下来,具体讲解如何编写 case。
case 的编写,简而言之有三步:
1.动作执行
查找和识别元素
操作元素
2.结果判断
3.报告展示
动作执行 查找和识别元素元素,在这里指的是应用程序用户界面上的控件。可以通过谷歌官方提供的工具 uiautomatorviewer 进行查找和识别。
1、进入 Android SDK 的 bin 目录
cd ${ANDROID_HOME}/tools/bin //每个人的Android sdk的目录名不一样哦2、启动 uiautomatorviewer
uiautomatorviewer3、在测试设备上启动应用,进入需要识别和操作的用户界面。在 uiautomatorviewer 上,点击左上角第二个按钮"Device Screenshot(uiautomator dump)",对当前界面上的元素进行查找和识别
4、在获取到界面上元素的布局层级及其属性后,可以通过如下一些方法进行元素的识别
find_element_by_id---对应组件属性中的"resource_id"
find_element_by_class_name---对应组件属性中的"class"
find_element_by_name---对应组件属性中的"text"
find_element_by_accessibility_id---对应组件属性中的"content-desc"
更多方法,请查看 Appium 的官方文档
http://appium.io/docs/en/commands/element/find-elements/index.html#selector-strategies https://github.com/SeleniumHQ/mobile-spec/blob/master/spec-draft.md 操作元素元素操作的方法,分为三种:
获取控件的信息
text(self)---获取文本信息
click(self)---点击
clear(self)---清空文本
is_enabled(self)---是否可用
is_selected(self)---是否已选
is_displayed(self)---是否显示
send_keys(self, *value)---模拟输入文本
手势操作
tap(self, positions, duration=None)---点击,自定义坐标
swipe(self, start_x, start_y, end_x, end_y, duration=None)---滑动
flick(self, start_x, start_y, end_x, end_y)---快速滑动
pinch(self, element=None, percent=200, steps=50)---缩小
zoom(self, element=None, percent=200, steps=50)---放大
scroll(self, origin_el, destination_el)---滚动
drag_and_drop(self, origin_el, destination_el)---拖曳
系统操作
press_keycode()---模拟按键
long_press_keycode()---模拟长按键
reset()---重置程序到初始状态
pull_file()---从手机上拉取文件
launch_app()---启动应用程序
start_activity()---启动活动
shake()---晃动手机
get_screenshot_as_file()---获取截图并保存在电脑上
push_file()---推送文件到手机
更多操作元素的方法,请查看 Appium 的官方文档