• 12
  • 11
分享

基于Appium的Android自动化框架

根据多种工具选择的性价比,客户端自动化采Shell+Appium+Selenium+Java+TestNG框架。 

工具选择背景

以业界主流工具进行对比,优劣如下图所示:

图片1.png

由于Selenium工具开源且扩展性较好,所以选定为框架主体

图片2.png

框架设计详细

根据工具选择,设计自动化框架如下:

图片3.png

自动化演示

通过命令或定时任务,达到自动执行的效果

图片4.png

测试案例

2016年初,经优化重组,中软测试团队固定在8人,根据当初接手的实际情况,项目组选用高速迭代开发的规范化流程。这段时期,由于android机型多样,导致软件兼容性问题突出,这对开发测试效率和产品质量都是严峻的考验。

开发团队利用代码管理工具,提升效率的同时,进一步提高代码质量,解决各种疑难兼容性问题;测试团队构筑高效的自动化测试体系,进行全面的兼容性测试,增加产品的可信任度、过程的可监控性,并大大提升计费转化率与产品质量。

为缩减测试周期,测试组引入自动化测试,完成接口自动化、web自动化、app端自动化的构建与填充,将测试时间缩短42%。短期内生成千余条基础自动化用例,并长期维护扩充,以达到自动构建、高效测试、快速迭代的良性循环。

扩展:集成到jenkins环境上,每日持续集成。

图片5.png

服务端自动化测试

工具选择:apache-jmeter-3.2 + apache-ant-1.10.1-bin + jenkins-2.60.3 + jdk1.8.0_131

打开Jmeter工具,编写自动化用例

图片6.png

运行ant命令,生成html文件

Jmeter接口测试脚本运行后生成的是JTL(xml)格式的文件,这些文件不具备可读性,因此我们要把他转化为可以阅读的html格式报告;Ant是一个功能强大的打包编译工具,我们使用他的目的是将xml文件转化为html格式的文件。Ant自带了把xml转化为html的lib库,只需修改Lib文件即可。

图片7.png

使用jenkins部署到持续集成平台可以实现脚本的定时运行,这是接口测试的核心

1.设置定时运行间隔,这里表示每天下午五点开始自动打包并部署到用户运营测试环境,环境部署成功后自动执行jmeter自动化用例。

图片8.png

2.设置invoke ant就可以调用ant,也就是执行生成测试报告TestReport.html。

图片9.png

3.在 workspace目录下会生成结果报告并通过邮件形式发送给相关人员,邮件内容也可根据需要自行定制。

图片10.png

图片11.png

图片12.png

性能测试

工具选择:Jmeter+Jekins+ Performance Plugin(Jekins插件)+ Nmon

性能测试流程

该性能测试框架工作的流程主要有:触发测试–>部署测试脚本–>部署被测系统–>Jmeter打压–>被测系统日志分析,5个阶段。 

环境需求

  1. Jenkins master:用于管理测试机、建立性能测试job、启动性能测试、展示性能测试结果。 

  2. Load generator:用来给被测试服务器发送请求,当一台Load generator发送的并发请求数达不到测试要求时,可能需要配置多台。Setup ENV阶段的Performance-test-script-deployment以及Run test阶段的job都是运行在这机器上的。 

  3. 被测试服务器:用于安装被测试服务的机器,分析被测试服务的log的job也是运行在这个机器上的。 其中,Load generator和被测试服务器都是作为slave节点挂载在jenkins master上的。

Jmeter GUI上制定测试计划

测试执行实在Jenkins中通过非GUI方式执行Jmeter压力测试的。在JmeterGUI上制定测试计划的目的是,将测试计划保存成.jmx文件,以便能够在Jmeter的非GUI模式下执行测试。

图片13.png

生成客户端测试报告

通过Jenkins上安装的JMeterPlugins-Standard插件来将测试结果文件.jtl格式的文件解析成图表。

图片14.png

查看服务器性能

使用Nmon查看服务器当前性能,并将最终结果导出文档保存。

图片15.png


作者:佚名

  • 【留下美好印记】
    赞赏支持
登录 后发表评论
+ 关注

热门文章

    最新讲堂

      • 推荐阅读
      • 换一换
          •   想必大家都有这样被老板灵魂发问的经历吧。  1. 当你负责的项目按时交付发布后,你老板问项目的测试质量怎么样啊?  2. 当你测试的项目上线后有用户曝出使用缺陷,你老板问你这个缺陷怎么没有测试出来呢?  如果测试工程师将测试工作理解为测试用例设计、测试执行,那么你大概率回答不好老板的发问,给不到老板想要的答案。  测试工程师作为项目质量把关者, 是产品质量保障至关重要的一环,测试设计和执行只是其职责的一部分,殊不知,测试质量度量也是测试工作尤为重要的一环。测试质量度量的范围不仅限于测试角色,也包括开发角色,甚至是产品角色。因为产品质量不是测试同学测出来的,而是产研测三方共同努力“测试”的结...
            0 0 229
            分享
          •   YouTube 宣布了一系列 YouTube Shorts短视频相关的新功能,其中一些现在就可以使用,比如新的文本到语音视频旁白可以让你添加人工配音。  在 TikTok 上,有时你会在一些宣传视频中听到令人惊愕的机器人声音。事实上,YouTube添加语音的过程与 TikTok 很相似:创建一些文本后,点击屏幕左上角的一个新的"添加语音"图标,然后选择你想要的语音。YouTube 目前只提供四种语音供你选择,而 TikTok 则有更多。  YouTube 表示,它还将推出自动生成的字幕,用户可以将其添加到视频中而无需切换到另一个应用程序(如 CapCut)。与现有的 Y...
            0 0 517
            分享
          • 【摘要】测试用例英文名叫Testcase,测试用例是开展测试工作的重要一项,测试用例是否完善、质量高低以及执行的情况如何是影响软件测试结果的一个重要方面。可以说测试用例是软件测试中一个举足轻重的因素。本文就有关问题进行阐述。【关键词】测试用例概述用例文档(checklist),是关于具体测试步骤的文档,它描述了测试的输入参数、条件及配置、预期的输出结果等,以判断被测软件的工作是否正常。从表现形式上而言,测试用例可以是纯文本的说明文档,也可以是用脚本语言或高级语言编写的一段代码。测试用例文档由简介和测试用例两部分组成。简介部分编制测试目的、测试范围、定义术语以及测试背景等。测试用例部分逐一列示各...
            1 1 1712
            分享
          • 读者提问:有哪些好用的测试用例管理工具?阿常回答:这个问题我从三点回答1、为何要采用测试用例管理工具;2、有哪些常见的测试用例管理工具;3、如何来选取测试用例管理工具。一、为何要采用测试用例管理工具以前我们用 Excel 来维护测试用例,产品发布前把 Excel 里的用例过一遍,这样做似乎是可行的。但随着项目的迭代,项目复杂度的增加,用例的版本也越来越多,Excel 的缺点也逐渐显现。通过 Excel 维护用例,我们遇到的挑战:1、多人协作,用例没有统一存放地点2、项目迭代,用例如何保证常用常新3、用例设计,如何方便复用基础用例二、市面上常见测试用例管理工具Testhub、Jira、禅道、TA...
            0 0 1408
            分享
          • 读者提问:软件测试工程师如何做职业发展规划,有什么比较好的建议给到咱们测试萌新吗 ?阿常回答:。两个大的发展方向:1、技术类;2、管理类。一、走技术发展路线1、测试专家,比如 “测试架构师”(关键词:技术难题攻关、关键业务评审、基础设施搭建、解决一线实际问题、规划团队技术发展)2、专项测试工程师,比如 “自动化测试技术专家”、“性能测试技术专家”(关键词:软件测试某领域、技术专家)区别:前者关注具体的某一个产品,综合考量选取更合适的技术;后者不关注具体的产品,而是研究某一专项技术的共性。二、走管理发展路线1、测试组长(关键词:产品重点难点测试、辅导新人、任务分配、任务跟进)2、测试经理(关键词...
            0 0 1864
            分享
      • 51testing软件测试圈微信