python自动化app自动化:6.常见的UI自动化测试平台工具
Posted new nm个对象
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python自动化app自动化:6.常见的UI自动化测试平台工具相关的知识,希望对你有一定的参考价值。
一.自动化遍历测试技术
1.为什么需要自动化遍历
二.android monkey测试工具
1.简介
2.安装
3.使用
三.Android maxim测试工具
1.简介
2.安装
下载代码包:
git clone https://github.com/zhangzhao4444/Maxim.git
将framework.jar和monkey.jar两个jar包,push到手机目录,推荐/sdcard
adb push framework.jar /sdcard
adb push monkey.jar /sdcard
3.运行
cmd 命令 :
adb shell CLASSPATH=/sdcard/monkey.jar:/sdcard/framework.jar exec app_process /system/bin tv.panda.test.monkey.Monkey -p com.panda.videoliveplatform --uiautomatormix --running-minutes 60 -v -v
tv.panda.test.monkey.Monkey
: monkey入口类,不要修改com.panda.videoliveplatform
: 被测app包名,需要修改--uiautomatormix
: 遍历策略- –running-minutes 60:运行60分钟
遍历策略
-
模式 Mix (基于事件概率的压力测试)
--uiautomatormix 直接使用底层accessibiltyserver获取界面接口 解析各控件,随机选取一个控件执行touch操作。 同时与原monkey 其他操作按比例混合使用 默认accessibilityserver action占比50%,其余各action分剩余的50% accessibilityserver action占比可配置 --pct-uiautomatormix n
-
模式 DFS
--uiautomatordfs
深度遍历算法
- 模式Troy
--uiautomatortroy
控件选择策略按max.xpath.selector配置的高低优先级来进行深度遍历
其他用法:
- 保留原始monkey
- 总运行时长 --running-minutes 3 运行3分钟
- –act-whitelist-file /sdcard/awl.strings 定义白名单 --act-blacklist-file
其他参数与原始monkey一致
四.AppCrawler测试工具
1.简介
一个基于自动遍历的app爬虫工具. 支持android和ios, 支持真机和模拟器. 最大的特点是灵活性. 可通过配置来设定遍历的规则.
AppCrawler优点:
- 各大云市场上自动遍历功能都多有限制企业无法自由定制.
- 解决monkey等工具可控性差的缺点
- 发现深层次的UI兼容性问题
- 通过新老版本的diff可以发现每个版本的UI变动范围
2.环境安装
1.安装appium和adb
略
2.安装AppCrawler:
地址:https://github.com/seveniruby/AppCrawler
3.使用对应jar包运行即可。
3.使用
第一步:启动appium
第二步:连接真机或模拟器
第三步:运行AppCrawler
(1)简单运行AppCrawler
java -jar appcrawler-2.4.0-jar-with-dependencies.jar----------获取帮助文档
java -jar appcrawler-2.4.0-jar-with-dependencies.jar --capability "appPackage=com.xueqiu.android,appActivity=.main.view.MainActivity"-----遍历app,默认是随机事件
(2)使用配置文件启动AppCrawler
- steps的使用
# 生成配置文件
java -jar appcrawler-2.4.0-jar-with-dependencies.jar --demo
# 再安照遍历规则编写yml文件
# 执行AppCrawlerAppCrawler
java -jar appcrawler-2.4.0-jar-with-dependencies.jar -c demo.yml
五。跨平台设备管理:selenium grid
1.简介
什么时候用Selenium Grid
- 同时在不同的浏览器、操作系统和机器上运行测试。最大程度用于兼容性测试
- 减少运行时间
2.环境安装
1.进入selenium官网:https://www.selenium.dev/
2.下载selenium grid
3.将下载的jar包放置在一个路径下,并配置环境变量
3.使用
1.编写一个json格式的配置文件(node.json)。
capabilities:指定浏览器的类型
hub:指定hub的url
# filename = node.json
{
"capabilities":
[
{
"browserName": "chrome",
"maxInstances": 5,
"seleniumProtocol": "WebDriver"
}
],
"proxy": "org.openqa.grid.selenium.proxy.DefaultRemoteProxy",
"maxSession": 5,
"port": -1,
"register": true,
"registerCycle": 5000,
"hub": "http://localhost:4444",
"nodeStatusCheckTimeout": 5000,
"nodePolling": 5000,
"role": "node",
"unregisterIfStillDownAfter": 60000,
"downPollingLimit": 2,
"debug": false,
"servlets" : [],
"withoutServlets": [],
"custom": {}
}
2.启动hub
java -jar selenium-server-standalone-3.141.59.jar -role hub
3.启动node
java -jar selenium-server-standalone-3.141.59.jar -role node -nodeConfig node.jsonjava -jar selenium-server-standalone-3.141.59.jar -role node -nodeConfig node.json
需要启动几个浏览器就打开几个终端,启动node
4.python代码中使用node
from selenium.webdriver import DesiredCapabilities
from selenium.webdriver import Remote
class TestDemo:
def test_grid(self):
hub_url = "http://127.0.0.1:4444/wd/hub" # 指定hub地址
capability = DesiredCapabilities.CHROME.copy() # 指定浏览器
for i in range(1,5):
driver = Remote(command_executor=hub_url,desired_capabilities=capability) # 通过远程hub获取浏览器
driver.get('https://home.testing-studio.com/')
driver.quit()
注意,这样运行还是启动一个浏览器运行完毕后,继续启动下一个浏览器。因为我们在python中只启动了一个进程,如果要实现多浏览器同时运行,需要在python中启动多进程。
以上是关于python自动化app自动化:6.常见的UI自动化测试平台工具的主要内容,如果未能解决你的问题,请参考以下文章
基于python实现UI自动化6.selenium实现浏览器相关操作(最大化自定义宽高前进后退)
基于python实现UI自动化6.selenium实现浏览器相关操作(最大化自定义宽高前进后退)
基于python实现UI自动化6.selenium实现浏览器相关操作(最大化自定义宽高前进后退)