当前位置: 首页 > news >正文

Android自动化测试+性能监控预警系统搭建

1、自动化测试

首先,我们为什么要引入自动化测试?

我们把范围略微缩小点,放在移动端这个环境上,自动化测试是指在预设条件、路径下运行app,运行之后给出一个评估结果,通常会生成一份测试报告,有哪些用例通过,有哪些些用例没有通过。这一过程完全是自动的,几乎不需要认为干预的,这对于人力不足的团队来说,对于保证产品质量方面,是一个较好的选择。

其次,自动化测试框架有哪些,我们该如何选择?

首先,从Android,ios两个平台上来看,这两个系统本身就提供了各自的自动化测试框架,比如

  • Android
    • Espresso
    • UI Automator 当然现在最新的的版本是2了
  • Ios
    • XCTest
    • UIAutomation 注意,这个和Android那个不是一个

当然,以上并没有,全部一一列举出来,不过,稍稍了解一下,我们就知道,以上提到的测试框架它们都限定了平台,说白了就是不支持跨平台,这样,就痛苦了,写测试用例还需要对两个平台来写,这样开发同学就不乐意了,学习成本略大。

那么,对于我们这群苦逼的开发,到底该如何选择呢?可以从以下两个方面考虑

1、跨平台性

  1. 明显是为了降低学习成本而来了[奸笑]

2、支持脚本录制

  1. 没接触过自动化测试的同学可能会一脸懵逼,可以录制是指指需要点一点,脚本就写好(录制好)啦,哈哈,明显是为了偷懒,不想写测试脚本。

嗯,基于上面两个需求点出发,我是如何做的选择呢?

我选择了appium作为自动化测试框架!为什么会选择它?

  1. 满足了我的需求
  2. 社区非常活跃,尝试够,遇到的问题,基本可以在社区上找到。
  3. 开源,而且github上star数杠杠的,且issue解决也是相当迅速的。

还有哪些类似的自动化测试框架值得关注?

据我了解,类似的这种测试框架还Macaca,是阿里维护的,也在github上开源,star数比appium要少很多,单功能貌似开起来还挺完备的。这点还是要对阿里的技术赞一个,不过,比较遗憾的是,由于精力有限,我并没有研究这个,但是它同样对我非常有吸引力。

更加匪夷所思的是,居然还有带自然语言处理的自动化测试框架Calabash

好的,自动化测试框架的选取就说明到这里,至于appium如何install,如何跑起来录制测试用例脚本,那又可以写一篇文章了,本文只想写一篇指导性的文章,因此这不打算在继续深入。

ps,install,录制脚本,我是直接参考的官网,并没有到社区去找其他文章,说明他的官网文档还算可以的。

嗯,下面一个环节是如何在自动化测试环境中搜集性能数据了。

2、性能数据收集

这里,我决定使用Android为例,来介绍一下,搜集app内存,帧率,cpu等信息的思路。android平台上,adb shell dumpsys 命名提供了我们所需要的所有信息,如

内存方面

adb shell dumpsys meminfo packagename



。。。。。




原文链接 在此  https://cloud.tencent.com/developer/article/1354782


相关文章:

  • Python 3.x 模块
  • java 不可不知的数据库知识-----事物
  • JavaScript 浏览器对象(三)
  • 命令行程序测试自动化
  • Linux命令行翻译工具
  • 保障邮件安全
  • Linux系统_Centos7下安装Nginx
  • 源码安装Apache服务器遇到的问题及解决方法
  • 优秀互联网高级测试工程师应该具备的能力
  • raid5实现原理
  • Go 可变参数和切片
  • Tomcat7 catalina.out 日志分割
  • storm drpc实例
  • 监控CPU(一)
  • RIP
  • ➹使用webpack配置多页面应用(MPA)
  • java B2B2C 源码多租户电子商城系统-Kafka基本使用介绍
  • Java基本数据类型之Number
  • JS学习笔记——闭包
  • React-Native - 收藏集 - 掘金
  • ucore操作系统实验笔记 - 重新理解中断
  • Vue2 SSR 的优化之旅
  • Vue全家桶实现一个Web App
  • 从tcpdump抓包看TCP/IP协议
  • 将 Measurements 和 Units 应用到物理学
  • 区块链分支循环
  • ​ssh免密码登录设置及问题总结
  • ( )的作用是将计算机中的信息传送给用户,计算机应用基础 吉大15春学期《计算机应用基础》在线作业二及答案...
  • (02)Cartographer源码无死角解析-(03) 新数据运行与地图保存、加载地图启动仅定位模式
  • (1)(1.19) TeraRanger One/EVO测距仪
  • (二十四)Flask之flask-session组件
  • (附源码)springboot助农电商系统 毕业设计 081919
  • (三)终结任务
  • (十一)JAVA springboot ssm b2b2c多用户商城系统源码:服务网关Zuul高级篇
  • (原創) 未来三学期想要修的课 (日記)
  • (转)ObjectiveC 深浅拷贝学习
  • (转)真正的中国天气api接口xml,json(求加精) ...
  • .NET Core 成都线下面基会拉开序幕
  • .net core 控制台应用程序读取配置文件app.config
  • .net 开发怎么实现前后端分离_前后端分离:分离式开发和一体式发布
  • .net的socket示例
  • .net反编译的九款神器
  • .NET开发人员必知的八个网站
  • .NET中使用Protobuffer 实现序列化和反序列化
  • .sh文件怎么运行_创建优化的Go镜像文件以及踩过的坑
  • /var/spool/postfix/maildrop 下有大量文件
  • /使用匿名内部类来复写Handler当中的handlerMessage()方法
  • @angular/cli项目构建--http(2)
  • @manytomany 保存后数据被删除_[Windows] 数据恢复软件RStudio v8.14.179675 便携特别版...
  • @Query中countQuery的介绍
  • @Responsebody与@RequestBody
  • @Transaction注解失效的几种场景(附有示例代码)
  • @Validated和@Valid校验参数区别
  • [ NOI 2001 ] 食物链
  • [ 蓝桥杯Web真题 ]-布局切换