IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 开发测试 -> appium学习总结21 - 自动遍历测试方法及常见技术介绍 -> 正文阅读

[开发测试]appium学习总结21 - 自动遍历测试方法及常见技术介绍

1、测试过程中碰到的问题

  1. 功能问题
  • app某界面崩溃
  • app某接口报错
  • 股票详情页中特性信息字段内容丢失或者数据异常
  • 微信分享不可用
  1. 兼容性问题
  • 用户网络慢时发出请求后退出当前页面发生崩溃
  • 某些界面在 4.4 和 5.0 系统上操作体验不同
  1. 测试痛点:快速迭代中传统的基于用例维护的自动化用例使用不当
  • 没有采用合理的分层体系,尝试用UI自动化覆盖所有测试场景
  • 没有采用PageObject模式导致自动化用例维护成本太大
  • 对自动化框架掌握不够
  1. 测试痛点:测试内容太多导致手工测试无法充分覆盖
  • 界面字段正确性:比如股票相关的数据变化,十多个字段
  • 接口正确性:后续接口传输数据的变化和内容
  • 专项测试回归难度大:内存泄漏、健壮性测试、弱网等测试过程太多
  • 回归工作量大,不回归会导致漏测

2、对测试手段的改进

  1. 分层测试
  • 合理划分接口测试和UI测试的比例和业务边界
  • 自动化测试覆盖主要业务流程
  1. 手工测试手段
  • 覆盖新功能测试,探索式测试
  1. 遍历测试手段
  • code less :用例维护成本低
  • automate:尽可能的自动化覆盖回归业务

3、自动化遍历测试

3.1 monkey工具缺点

  1. 不支持业务行为定制
  2. 经常点到外部的app
  3. 经常点到注销和退出
  4. 无法灵活控制

3.2 常见遍历工具与技术

  1. google android 原生 monkey
  2. 百度 SmartMonkey
  3. 腾讯 NewMonkey
  4. Testerhome vigossjjj smart_monkey
  5. 阿里 Macaca 的 NoSmoke
  6. 头条的 zhangzhao Maxim
  7. 霍格沃兹测试学院 seveniruby AppCrawler
  8. Google 的 App Crawler

3.3 遍历测试工具Monkey、Maxim

monkey:

开源,android标准测试工具
https://developer.android.com/studio/test/monkey.html

adb shell monkey -p com.xueqiu.android 200
adb shell monkey -p com.xueqiu.android --throttle 1000 -v 200 1个事件1秒
adb shell monkey -p com.xueqiu.android --throttle 100 -v 200 1个事件100毫秒

Maxim:

未开源,改进版的monkey,提供预编译包
基于遍历规则的高性能Android Monkey,适用于真机/模拟器的APP UI压力测试
https://github.com/zhangzhao4444/Maxim
使用步骤:
1、克隆到本地:https://github.com/zhangzhao4444/Maxim.git
2、在D:\mycode\Maxim目录下执行:

Maxim - 命令行模式:

# 将2个包传到手机上
adb push framework.jar /sdcard
adb push monkey.jar /sdcard
# 在本地运行APP UI 压力测试
adb shell CLASSPATH=/sdcard/monkey.jar:/sdcard/framework.jar exec app_process /system/bin tv.panda.test.monkey.Monkey -p com.xueqiu.android --uiautomatormix --running-minutes 60 -v -v
# 命令含义:
1、启动jar包:CLASSPATH=/sdcard/monkey.jar:/sdcard/framework.jar exec app_process /system/bin
2、monkey入口类,不要修改:tv.panda.test.monkey.Monkey
3、被测app包名,需要修改:com.xueqiu.android
4、运行时间:--running-minutes 60
5、遍历策略:
	--uiautomatormix:模式 Mix (基于事件概率的压力测试),直接使用底层accessibiltyserver获取界面接口 解析各控件,随机选取一个控件执行touch操作。同时与原monkey 其他操作按比例混合使用默认accessibilityserver action占比50%,其余各action分剩余的50%,accessibilityserver action占比可配置 --pct-uiautomatormix n
	--uiautomatordfs:深度遍历算法
	--uiautomatortroy:模式Troy,控件选择策略按max.xpath.selector配置的高低优先级来进行深度遍历
6、定制白名单:
	--act-whitelist-file /sdcard/awl.strings 定义白名单 
	--act-blacklist-file
7、其他参数与原始monkey一致

Maxim - UI界面:

https://www.appetizer.io/cn/

3.4Appcrawler 命令行工具:

是一个基于自动遍历的App爬虫工具,支持Android和IOS,支持真机和模拟器。最大的特点是灵活性高,可通过配置来设定遍历的规则。
安装包下载地址:https://ceshiren.com/t/topic/15801
github:https://github.com/seveniruby/AppCrawler

appium -g /tmp/appium.log --session-override
java -jar appcrawler-2.7.4-hogwarts.jar --capability "appPackage=com.xueqiu.android,appActivity=.view.WelcomeActivityAlias,dontStopAppOnReset=true"
  开发测试 最新文章
pytest系列——allure之生成测试报告(Wind
某大厂软件测试岗一面笔试题+二面问答题面试
iperf 学习笔记
关于Python中使用selenium八大定位方法
【软件测试】为什么提升不了?8年测试总结再
软件测试复习
PHP笔记-Smarty模板引擎的使用
C++Test使用入门
【Java】单元测试
Net core 3.x 获取客户端地址
上一篇文章      下一篇文章      查看所有文章
加:2022-03-21 21:22:01  更:2022-03-21 21:25:06 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/18 0:24:56-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码