Appium移动端自动化测试--capability使用和常用设备交互命令
2020-03-17 18:28
507 查看
capabilities 设置
Desired Capabilities是在启动一个 session 的时候是必须提供的一些参数。
Desired Capabilities 本质上是以 key value 字典的方式存放,客户端将这些键值对发给服务端,告诉服务端我们想要怎么测试。它告诉 appium Server这样一些事情:
- 本次测试是启动浏览器还是启动移动设备。
- 是启动Andorid还是启动iOS。
- 启动Android时,app的package是什么。
- 启动Android时,app的activity是什么
各项参数如下:
- App APK 地址 appPackage 包名 appActivity Activity 名字
- automationName 默认使用 uiautomator
- noReset fullReset 是否在测试前后重置相关环境
- autoGrantPermissions 自动赋予 App 权限
- unicodeKeyBoard resetKeyBoard 是否需要输⼊非英⽂之外的语⾔并在测试完成后重置输⼊法
实际应用如下:
Python版:
def setup(self):#初始化 caps = {} caps["platformName"] = "android" caps["deviceName"] = "ruancexiaosheng" caps["automationName"] = "uiautomator2" caps["appPackage"] = "com.xueqiu.android" caps["appActivity"] = ".view.WelcomeActivityAlias" caps["autoGrantPermissions"] = "true" self.driver = webdriver.Remote("http://127.0.0.1:4723/wd/hub", caps) self.driver.implicitly_wait(10)#添加隐式等待10秒
更多的参数配置请参考 这里
上述只是一个Demo,然而在正式的使用中,是要作进一步的参数化以及封装的,比如图所示:
Python:
Java:
常用的设备交互命令
- 模拟电话、短信
- 横竖屏切换
- App处理
- 键盘、粘贴板
- 录屏
更多更详细的可参考官方文档:
接下来使用模拟器演示一把如何发短信和打电话:
1、启动虚拟手机,在Appium上面启动服务
2、编写Python脚本,如下
from appium import webdriver from appium.webdriver.extensions.android.gsm import GsmCallActions class TestDemo: #创建一个Class来承载所有的测试用例 def setup(self):#初始化 caps = {} caps["platformName"] = "android" caps["deviceName"] = "emulator-5554" caps["automationName"] = "uiautomator2" caps["appPackage"] = "io.appium.android.apis" caps["appActivity"] = ".ApiDemos" caps["autoGrantPermissions"] = "true" caps["unicodeKeyboard"] = True self.driver = webdriver.Remote("http://127.0.0.1:4723/wd/hub", caps) self.driver.implicitly_wait(10) # 添加隐式等待10秒 # 模拟发短信和打电话 def test_gsm_call(self): self.driver.send_sms(self, "1850755", "Hello, From Seveniruby") self.driver.make_gsm_call('1850755', GsmCallActions.CALL) def teardown(self): self.driver.quit()
但是在运行的时候不成功,报异常
不确定是不是以下截图的问题(还没找到原因):
以上是发短信和打电话的交互命令,其实交互命令很简单,更多的交互命令可以去官网查看,另外是以实际下载安装的API为准,官方文档的维护有的时候有一些滞后。
https://appium.io/docs/en/about-appium/api/
Appium主页:Commands >> Device>> 下面有很多交互API的详细说明。
- 点赞
- 收藏
- 分享
- 文章举报
相关文章推荐
- Linux 视频设备驱动V4L2最常用的控制命令使用说明(1.02)
- Linux 视频设备驱动V4L2最常用的控制命令使用说明
- Linux视频设备驱动常用控制命令使用说明
- Linux 视频设备驱动V4L2最常用的控制命令使用说明
- Linux 视频设备驱动V4L2最常用的控制命令使用说明(1.02)以及我收藏的网址
- Linux 视频设备驱动V4L2常用控制命令使用说明
- Linux 视频设备驱动V4L2最常用的控制命令使用说明(1.02)
- Linux视频设备驱动常用控制命令使用说明
- Linux 视频设备驱动V4L2最常用的控制命令使用说明
- Linux 视频设备驱动V4L2最常用的控制命令使用说明
- Linux视频设备驱动常用控制命令使用说明
- Linux 视频设备驱动V4L2最常用的控制命令使用说明
- Linux视频设备驱动常用控制命令使用说明
- Linux 视频设备驱动V4L2最常用的控制命令使用说明
- Linux 视频设备驱动V4L2最常用的控制命令使用说明
- Linux 视频设备驱动V4L2最常用的控制命令使用说明(1.02)
- Linux 视频设备驱动V4L2最常用的控制命令使用说明(1.02)
- Linux 视频设备驱动V4L2最常用的控制命令使用说明(1.02)
- 使用 Appium 进行多设备的集群分布式 UI 自动化测试
- Linux 视频设备驱动V4L2最常用的控制命令使用说明--实际中应用的整理