APP移动端自动化基础及appium环境搭建

APP移动端自动化基础及appium环境搭建,第1张

APP移动端自动化测试基础 

移动端测试分类

1、APP功能测试

1)业务逻辑正确性测试

2)兼容性测试 包括 系统版本,分辨率,网络情况

3)异常测试 热启动,网络切换中断恢复,电话信息中断恢复

4)升级&安装卸载测试

5)健壮性测试

2、app自动化测试

3、app安全测试

自动化测试主要用于回归测试。

APP比web端来说,迭代太多。

兼容性测试,现在都在云平台上执行。如云测。

主流移动端自动化工具

1、Robotium 支持语言java,仅支持Android,不支持跨应用

2、Macaca 支持语言:java、Python、nodejs,支持Android和ios

3、Appium 支持语言java python C# php perl reby 支持android和ios,支持跨应用

支持语言,是什么意思。

Macaca技术支持特别少。

自动化测试工具选择的关注点

1)是否支持toast

2)是否支持nativa,webview

3)是否支持跨应用

native就是原生安卓系统。

webview网络视图,就是H5

Appium介绍 

 

Appium工作原理 

 

 Appium环境搭建 安装前准备工具

Python,selenium,.netframework45,安装jdk8

安装Android SDK 

Android sdk提供Android API库和开发工具构建,测试和调试应用程序使用

http://tools.android-studio.org/index.php/sdk

 只选择下面的这四个。

配置环境变量

新建ANDROID_HOME,值为sdk的目录。

把下面三个路径,加入path

 加入path

加入path

加入path,确定,关闭环境变量设置。

验证,命令行输入adb,只要看到版本号即可。

安装Python-client

在命令行输入pip的这行命令安装python-client 

pip install Appium-Python-Client

 安装Appium

该工具封装了Appium server和Nodejs依赖环境

Releases · appium/appium-desktop · GitHub

安装夜神模拟器

用来模拟手机

下载地址 夜神安卓模拟器-安卓模拟器电脑版下载_安卓手游模拟器_手机模拟器_官网 (yeshen.com)

首先需要让系统找到模拟器上手机设备。如何让系统找到模拟器?

运行adb devices可以看到此时没有设备。 

把android sdk文件夹下platform tools下的adb.exe复制到夜神的bin文件夹下,并改名为nox_adb.exe,然后重启夜神。

再用adb devices 检测到的就是夜神模拟器的设备

 运行第一个appium测试

夜神模拟器打开USB开发者模式 参考:夜神模拟器如何开启开发者选项 | 夜神模拟器帮助中心 (yeshen.com)

运行appium

 

 

打开通讯录应用

adb命令获取当前打开的app的包名

adb logcat | findstr Displayed 

  Displayed com.android.contacts/.activities.PeopleActivity: +477ms

即为通讯录应用的包名。 

启动识别UI的工具

在Android SDK的安装目录下,D:\Program Files\Android\tools下找到uiautomatorviewer.bat

点击如图按钮,会识别到模拟器打开的应用。 

 在UI工具上点击元素,在右侧可以看到元素信息

注:识别过程中,遇到报错 obtianing UI hierarchy 
com.android.ddmlib.SyncException:Remote object doesn't exist

重启夜神模拟器解决。

编写脚本

 ​​​​​​使用Pycharm工具编写脚本并运行,即可实现,启动通讯录应用,并点击新建联系人。

from appium import webdriver
#创建设备信息
desired_caps={}
desired_caps['platformName']='Android'
desired_caps['platformVersion']='7.1.2' # #在手机设置,关于平板电脑可以找到版本
desired_caps['deviceName']='127.0.0.1:62001' #模拟器上设备的名称 在cmd下用adb devices显示的地址
desired_caps['appPackage']='com.android.contacts'#通讯录包名
desired_caps['appActivity']='.activities.PeopleActivity'#app活动名

#连接
driver=webdriver.Remote("http://127.0.0.1:4723/wd/hub",desired_caps)#连接的是appium

#定位
driver.find_element_by_id("com.android.contacts:id/floating_action_button").click() #点击添加账号按钮





 platformName和plartFormVersion是根据安卓版本写的
每个在移动端运行的APP都会有一个包 appPackage 先启动待测应用 再用adb命令去获取
运行上面代码,会开启通讯录应用,并点击创建账号按钮。


 

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/870387.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-13
下一篇 2022-05-13

发表评论

登录后才能评论

评论列表(0条)

保存