Appium是一个开源测试自动化框架,可用于原生,混合和移动Web应用程序测试。 它使用WebDriver协议驱动iOS,Android应用程序。直接多种语言:java,python等等。
appium架构
####desired capability
desired capability的功能是配置Appium会话。他们告诉Appium服务器您想要自动化的平台和应用程序。官网介绍:http://appium.io/slate/en/master/?java#appium-server-capabilities
-
Desired Capability的值-公用
-
Desired Capability的值-android
-
Desired Capability的值-ios
####Appium优缺点
- 优点:
支持多种应用程序的测试
支持使用多种语言来编写测试脚本
被测试的应用程序不需要特殊的编译
Appium支持应用之间跳转的测试
- 缺点:
由于服务端运行在电脑上,该工具必须连接电脑才可以运行
只能用于UI的自动化测试,在很多情况下的测试验证只能通过验证界面来进行
操作控件
- 获取控件信息
- 手势部分
主要有点击、滑动、拖拽、放缩等常用的操作
- 系统操作API
系统操作用于模拟硬件操作、设置网络环境、获取系统信息等,下表简单的介绍一下常用的方法。
- 如何获取参数
设置—关于手机
platformName
platformVersion
命令: adb devices
deviceName
命令:
adb shell
logcat | grep cmp=
点击start session
截图写错了,写成了onReset 应该是noReset,自动跳过引导页面
进入了界面
- 如何录制脚本
1.start Recording
2.Select Elements,选中后选择一个用户名输入框
3.点击send keys
4.输入idig8.com 选择send keys
5.模拟器用户名框也发生了变化
6.Select Elements,选中后选择请输入密码框
7.点击send keys
8.模拟器密码框发生变化
9.Select Elements选择登录,点击Tap
- 有反应了,哈哈
- 脚本出来了
MobileElement el6 = (MobileElement) driver.findElementById("com.tal.kaoyan:id/login_email_edittext");
el6.sendKeys("idig8");
MobileElement el7 = (MobileElement) driver.findElementById("com.tal.kaoyan:id/login_password_edittext");
el7.sendKeys("password");
MobileElement el8 = (MobileElement) driver.findElementById("com.tal.kaoyan:id/login_login_btn");
el8.click();
- 真实的用户名和密码,登录到系统内部。模拟器刷新了,但是appium没有刷新可以点击这个按钮。
PS:appium明显要比安卓的ui那个工具好用多了,重点是开头的那段配置,一开始的截图,我的Andriod单词写错了,是onReset,截图写成了onReset,希望不会误导老铁们。