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 的会话时,官网提供了更多的参数说明。可参考以下官网地址:
Desired Capabilities - Appium
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、使用案例
上图中案例一的操作说明:
上图中的案例二的操作说明:
版权声明:内容来源于互联网和用户投稿 如有侵权请联系删除