python自动化(四)app自动化:4.appium详解

一.appium desktop简介

Appium是一个开源的,适用于原生或混合移动应用( hybrid mobile apps )的自动化测试工具,Appium应用WebDriver: JSON wire protocol驱动安卓和iOS移动应用。它是继承自selenium的webdriver,所以它支持selenium的大部分API,且也有一些特殊的使用方式。

appium desktop是一款C/S架构的软件,其内集成了appium service。我们一般主要使用appium desktop来完成元素的定位及启动appium service。

使用appium desktop定位元素

(1)连接真机或者模拟器

连接真机时,需要使用文件传输模式,且在开发者选项中设置USB调试模式

(2)在appium desktop中启动appium server

  • Capability的讲解方式:

是一组设置的键值对的集合,其中键对应设置的名称,而值对应设置的值,主要用于通知appium服务器建立需要的session。

Capability的使用方式可以参考官方文档:https://github.com/appium/appium/blob/master/docs/en/writing-running-appium/caps.md

我们这里讲解几个常用的key_value。
platformName: 设置被测设备的系统,如:Android
platformVersion:被测设备系统的版本
deviceName:被测设备的序列 (使用adb devices查看)
appPackage:被测app的包名
appActivity:被测app需打开的页面的活动名
noReset:启动时是否不重置app,可以跳过登录,首次打开的弹出等(true或者false)
unicodeKeyboard:设置是否允许中文输入。(true或者false)
resetKeyboard:设置是否允许中文输入。(true或者false)
desired_caps:# 在首次运行测试用例时,不关闭app。默认在首次运行测试用例时会先关闭app,再打开

  • 设备各种信息的获取方式:

1.获取连接的设备信息:adb devices

如果设备未连接:adb connect 127.0.0.1:21503来手动连接。adb disconnect 127.0.0.1:21503手动断开连接

如果adb devices一直获取不到设备信息,可以将sdk下的adb.exe复制到模拟器目录下替换原来的adb.exe(需关闭所有adb进程)

如果还是adb连接不上设备,可以adb kill-server,然后再连接

2.获取app的包名:

方式一:如已安装对应的app:adb shell pm list packages -3(-3表示只看第三方的app)

方式二:如还未安装对应的app:aapt d badging 安装包的路径

3.获取app的活动名:

方式一:如已安装对应的app:adb shell dumpsys activity | findstr mFocusedActivity(获取正在运行的app的包名和活动名)

(5).appium desktop常用功能介绍

4.等待

appium中的等待跟selenium中一样。这里不再讲解

5.触碰操作自动化

我们可以使用TouchAction来完成对手机触碰的操作

TouchAction的使用格式

格式:

Touchaction的常用方法:

1.按下:

2.释放:

3.移动:

4.长按

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2021年4月11日
下一篇 2021年4月11日

相关推荐