1、安装appiumLibrary第三方库
运行pip命令:pip install robotframework-appiumlibrary
若已安装,需要更新版本可以用命令:pip install -U robotframework-appiumlibrary
2、安装app自动化环境。
参考我的另外一篇专门app自动化环境安装的文章:https://www.cnblogs.com/Simple-Small/p/10641854.html
3、利用appiumLibrary完成app功能自动化测试。
第一步:导入AppiumLibrary,设置等待超时时间为20s。
第二步:启动appium server。启动真机或者模拟器(本文中为网易MUMU模拟器)
通过 adb devices 命令检测 模拟器是否可用。
第三步:利用open application关键字,打开模拟器上的 柠檬班app。
这一步实际是:与appium server建立连接,并告诉appium server 要在XX设备上操作XXapp.
本案例中, 要去操作系统为Android,版本为6.0.1的设备上,启动 柠檬班app。(ps:appium 是同时支持android和ios设备的。)
所以,需要提供 :
- 平台名称 (platformName=Android)
- 平台版本号 (platformVersion=6.0.1)
- 设备名称 (deviceName=Emulator)
- app的包名(app在移动设备上的标识) (appPackage=com.lemon.lemonban)
- app的启动activity (appActivity=com.lemon.lemonban.activity.WelcomeActivity)
除此之外,启动与app的会话时,官网提供了更多的参数说明。可参考以下官网地址:
http://appium.io/docs/en/writing-running-appium/caps/
4、AppiumLibrary当中元素定位方式
定位策略 | 说明 | 案例 |
---|---|---|
id | 匹配元素的resourceId属性 | id=id=com.lemon.lemonban:id/navigation_tiku |
accessibility_id | 匹配元素的description属性 | accessibility_id=button3 |
android | 使用UiAutomator框架的元素定位 | android=UiSelector().description('Apps') |
xpath | 使用xpath表达式定位 | xpath=//*[@text="nmb"] |
class | 匹配元素的class属性 | class=android.widget.TextView |
5、AppiumLibrary关键字说明
以下列举部分关键字说明:
关键字 | 说明 | |
---|---|---|
open application | 打开app应用 | |
close application | 关闭app并关闭当前的webdriver会话 | |
Quite application | 关闭app但不关闭当前会话 | |
reset application | 重置app | |
remove applicaiton | 卸载app | |
get source | 获取当前页面的源码 | |
get window height | 获取当前设置的高 | |
get window width | 获取当前设备的宽 | |
get newtwork connections status | 获取当前的网络状态 | |
Set network connection status | 设置网络连接状态 | |
Hide keyboard | 隐藏键盘 | |
Is keyboard shown | 键盘是否隐藏 | |
get activity | 获取当前活跃的activity | |
swipe | 滑屏操作 | |
swipe by percent | 按百分比滑屏操作 | |
get contexts | 获取当前所有的contexts | |
switch to context | 切换到指定的context | |
click element | 点击元素 | |
input text | 元素中输入值 | |
get text | 获取元素的文本 | |
get element attribute | 获取元素的属性值 | |
Get element size | 获取元素的大小 | |
get element location | 获取元素的坐标值 | |
Execute adb shell | 执行adb命令 | |
switch application | 切换app | |
wait activity | 等待activity加载 |
### 6、使用案例
最后感谢每一个认真阅读我文章的人,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:
这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你!