Android渠道包自动化验证

 随着产品发布越来越快,渠道包越来越多,渠道包自动化验证重要性逐渐凸显出来,需要将大把的人力从中解放出来,且避免人工失误造成的验证不完全;
  最近客户端产品尝试使用渠道包自动化测试的方法,这里说说我们目前的做法;
  需求:验证渠道包的 渠道号、使用到的URL地址,以及简单冒烟;
  一、验证渠道号
  三个方法,根据产品自身的情况而定;
  1. 通过反编译apk包获得 渠道号
  说明:apk的 res/xml下存放渠道号信息,如存放在 channel.xml文件里
  (1)使用apktool工具,反编译apk,从 channel.xml中取出 该包的渠道号;
  (2)从apk文件名称截取出渠道号;
  两两进行对比;
  2. 从logcat获取渠道号信息
  说明:客户端启动时,打印渠道号信息
  (1)启动客户端,从logcat日志中,截取出渠道号;
  (2)从apk文件名截取出渠道号;
  两两进行对比;
  具体渠道号信息如何存放,可以同项目组进行讨论商定。
  3.(1)编写单元测试用例(可以用athrun框架),读取出渠道号;启动客户端,通过命令执行该测试用例,即可获得渠道号
    (2)从apk文件名截取出渠道号;两两进行对比;
  二、URL地址验证
  两个方法,类似签名的渠道号验证:通过反编译获得URL,或者通过启动客户端时,截取logcat日志获得;
  当然事先要准备期望的URL地址列表;
  验证URL的目的,是因为,发布apk使用的现网地址与测试环境地址是不同的,要确保打出的各渠道包的URL地址使用是否正确。
  三、简单冒烟
  目的:验证各渠道包基本功能是否可用,根据实际情况写脚本;
  下面介绍2个方法:
  1. 使用monkeyrunner验证简单功能;
  2. 通过athrun编写的测试用例执行,但该方法不一定对所有产品试用,如果渠道包的代码经过混淆,那么无法使用;
  其实如果项目组里的自动化做得比较好的话,这里的冒烟脚本可以直接使用日常使用的冒烟脚本   


最新内容请见作者的GitHub页:http://qaseven.github.io/
   

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/289445.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Foundatio - .Net Core用于构建分布式应用程序的可插拔基础块

简介Foundatio - 用于构建分布式应用程序的可插拔基础块•想要针对抽象接口进行构建,以便我们可以轻松更改实现。希望这些块对依赖注入友好。•缓存:我们最初使用的是开源 Redis 缓存客户端,但后来它变成了具有高许可成本的商业产品。不仅如此…

JQuery 判断滚动条是否到底部

1 BottomJumpPage: function () {2 var scrollTop $(this).scrollTop();3 var scrollHeight $(document).height();4 var windowHeight $(this).height();5 if (scrollTop windowHeight scrollHeight) { //滚动到底部执…

开讲啦观后感2017计算机科学家,开讲啦观后感2017

1 开讲啦观后感2017(一)是因为有爱,我才付出的,因为是我爱的,而我又付出了,所以我会更爱。这是郑教授的演讲《你为什么读大学》中给我映像最深刻的一句话。我也能从这句话中找到我读大学的原因因为我爱。古时候说你十年寒窗苦读&a…

ENVI IDL读写数据

最近写程序不知道怎么写envi标准格式文件的头文件,在网上搜了半天,也没找到相关的信息。找到一个 ENVI_SETUP_HEAD函数,也不知怎么用。下面的内容可能以后用的着,先留着吧。 引用自:http://bbs.esrichina-bj.cn/ESRI/v…

php 解压zip

2019独角兽企业重金招聘Python工程师标准>>> /*** 解压zip* param type $file* param type $destination* return boolean*/public function unzip_file($file, $destination){ $zip new ZipArchive() ; if ($zip->open($file) ! TRUE) {return $this->error…

python是偏向bs还是cs_CS与BS架构区别、比较、及现状与趋势分析

一、简介CS即Client/Server(客户机/服务器)结构,C/S结构在技术上很成熟,它的主要特点是交互性强、具有安全的存取模式、网络通信量低、响应速度快、利于处理大量数据。但是该结构的程序是针对性开发,变更不够灵活,维护和管理的难度…

python数据分析软件_Python数据分析工具

Numpy Python没有提供数组功能,虽然列表可以完成基本的数组功能,但他不是真正的数组。Numpy内置函数处理速度是c语言级别,因此尽量使用内置函数,避免出现效率瓶颈的现象。 Numpy的安装: Windows中,pip inst…

Java之TimeUnit

1、TimeUnit介绍 位于这个包下 import java.util.concurrent.TimeUnit; 2、使用 一般比如多少分钟转多少毫秒、多少秒转多少毫秒、多少小时转多少分钟,还可以使用线程休息的方法, 底层还是用Thread.sleep()实现,代码可读性好点&#xff0c…

如何评价国内SRC纷纷上线“白帽子协议”?

2017年6月1日21:21分 某监狱里,对话如下: 犯人A:你们都是怎么来的? 犯人B:我是XX漏洞平台挖漏洞不小心进来的。 犯人C:我是XX平台路人甲,输错命令了rm -rf / (批量删除) 犯人D:我是某测评中心的忘了要授权了…

SQL Server数据库备份的镜像

SQL Server数据库备份的镜像 原文:SQL Server数据库备份的镜像SQL Server数据库备份的镜像 一个完整备份可以分开镜像 USE master GOBACKUP DATABASE [testdatabase] TO DISK NC:\testdatabase1.bak MIRROR TO DISK ND:\testdatabase2.bak WITH FORMAT, INIT GO 一个完整备份…

C# 观察文件的更改

使用 FileSystemWatcher 可以监视文件的更改。事件在创建、重命名、删除和更改文件时触发。这可用于如下场景:需要对文件的变更做出反应,例如,服务器上传文件时,或文件缓存在内存中,而缓存需要在文件更改时失效。因为 …

html5储存类型,html5本地存储-留言板

HTML5每日一练之JS API-本地存储LocalStorage 留言板 | 前端开发网(W3Cfuns.com)!var Storage {saveData:function()//保存数据{var data document.querySelector("#post textarea");if(data.value ! ""){var time new Date().getTime() Mat…

php 自动创建目录

2019独角兽企业重金招聘Python工程师标准>>> /*** 创建目录* param type $path* param type $mode* return type */public function rmkdir($path, $mode 0777) {return is_dir($path) || ( $this->rmkdir(dirname($path), $mode) && $this->_mkdir(…

油管螺纹尺寸对照表_yt15硬质合金刀片尺寸|A320焊接刀头参数

硬质合金刀片牌号表示方法如下图:yw1硬质合金刀片a320钨钛钴类硬质合金主要成分是碳化钨、碳化钛(TiC)及钴。其牌号由“YT”(“硬、钛”两字汉语拼音字首)和碳化钛平均含量组成。例如,YT15,表示平均碳化钛(TiC)15%,其余为碳化钨和…

python实验原理_Python实验报告八

安徽工程大学Python程序设计 班级:物流192 姓名:唐家豪 学号:3190505234 成绩: 日期:2020/06/03 指导老师:修宇 【实验目的】 : 掌握读写文本文件或 CSV 文件,进而对数据进行处理的方…

关于android MTK相机L版本,切换屏幕比例后,分辨率随之改变,但重新进入相机后原有分辨率不再生效问题...

BUG详细:比如4:3的时候是200W,切成全屏变400W,重新切回4:3为300W,退出相机后,重新进入又变成200W。 原因分析:这个版本的设计如此,当你点选屏幕比例的时候,程序设计是把这个比例值作…

.NET 6 使用 Obfuscar 进行代码混淆

本文来安利大家 Obfuscar 这个好用的基于 MIT 协议开源的混淆工具。这是一个非常老牌的混淆工具,从 2014 年就对外分发,如今已有累计 495.5K 的 nuget 下载量。而且此工具也在不断持续迭代更新,完全支持 dotnet 6 版本,对 WPF 和 …

html的canvas标签用法,html5中关于canvas标签用法(绘图)

标签只是图形容器,您必须使用脚本来绘制图形。用canvas配合javascript可以直接在html页面动态绘图,无需调用jquery。代码如下:var my_canvasdocument.getelementbyid("canvas"); //获取canvas的idvar contextmy_canvas.getcontext(…

C#生成二维码(含解码)

using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms;using System.Collections; using com.google.zxing;//需要从网上下载 using S…

Android之在TextView里面部分文字变颜色并且可以点击

1、问题 在TextView里面部分文字变颜色并且可以点击 2、借助SpannableString SpannableString和String一样,是一种字符串类型 public void setSpan(Object what, int start, int end, int flags) {super.setSpan(what, start, end, flags);} what表示设置格式是,可以是可点…