1、安装 appiumLibrary 第三方库
运行 pip 命令:pip install
robotframework-appiumlibrary
若已安装,需要更新版本可以用命令:pip install -U
robotframework-appiumlibrary
2、安装 app 自动化环境。
参考我的另外一篇专门 app 自动化环境安装的文章:
www.cnblogs.com/Simple-Smal…
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、使用案例
上图中案例一的操作说明:
上图中的案例二的操作说明: