![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
测试
文章平均质量分 53
--龙
欲做诸佛龙象,先做众生马牛
展开
-
APP`S兼容自动化-runCase()实现-终
主要测试前面已经完成了,现在就是runCase()主体。主体数据准备:class run: def __init__(self, oldApp, callBackUrl): self.oldApp = oldApp self.callBackUrl = callBackUrl self.data = [] # 回调数据回调封装: def __callBack(self, json): time.sleep(TIME) url = self.callBackUrl原创 2020-11-18 15:16:56 · 252 阅读 · 0 评论 -
APP`S兼容自动化-广告页、引导页处理
在测试过程中发现部分APP启动过程中会出现广告业、引导页。大部分都是图片,部分是页面。无法点击跳过或开始。只能借助图片识别的能力,决定使用第三方的图片识别,返回文字及坐标的功能。如下:(每天500,完全够用)登录获取Token:def getToken(): # client_id 为官网获取的AK, client_secret 为官网获取的SK host = "https://aip.baidubce.com/oauth/2.0/token?grant_type=client_cred原创 2020-11-18 15:01:45 · 248 阅读 · 2 评论 -
APP`S兼容自动化-runCase()实现-04
本文继APP`S兼容自动化-runCase()实现-03。兼容性判断主体:原创 2020-11-18 14:47:31 · 205 阅读 · 0 评论 -
APP`S兼容自动化-runCase()实现-03
本文继APP`S兼容自动化-runCase()实现-02。封装uiautomator相关方法-定义class:class uitest: def __init__(self, path, device, page): """ 通过uiautomator2进行测试 :param device: 设备地址 :param apkId: apk标识 :param runType: 文件类型:0原始文件;1加固文件原创 2020-11-18 14:26:04 · 185 阅读 · 0 评论 -
APP`S兼容自动化-runCase()实现-02
本文继APP`S兼容自动化-runCase()实现-01。安装APP:def install(device, App_dir): """ 指定设备,app 进行安装 并启动 :param device: 设备 :param App_dir: apk地址 """ clear_device(device) cmd = 'adb -s ' + device + ' install -r ' + App_dir result = os.原创 2020-11-18 12:17:42 · 143 阅读 · 0 评论 -
APP`S兼容自动化-测试服务搭建:
事件起因:业务:最近有一批APP需要进行持续的兼容性测试,估计要疯! 我:兼容性测试要求高吗? 业务:暂时不高,安装、运行、随便点点没问题就行。 我:那搞个兼容自动化测试服务吧,刚好你们有个内部系统,对接就行。 业务:来、来、来,咱们细聊。分析需求:需求:最好一次性能够测几台手机。 异常情况需要分类:无法安装,启动失败,兼容失败。思路:基础框架:flask+uiautomator2.0+logging 搞个队列:任务下发后排队处理。只管调,反正我每次只能测一个。 主动回调:原创 2020-11-18 11:42:13 · 200 阅读 · 0 评论 -
APP`S兼容自动化-runCase()实现-01
前文中已对测试服务搭建进行了说明,接下来主要是对runCase()实现做些准备工作。获取有效设备地址:(用于支持同时进行测试)def findDevice(): """ 获取有效的设备地址 :return: 列表地址列表 """ result = os.popen('adb devices') res = str(result.read()) res = res.replace("List of devices attached", "")原创 2020-11-18 12:05:32 · 281 阅读 · 0 评论 -
笔记梳理:Android CPU
Linux层有公共目录。很多公共信息资源由两个虚拟的文件系统提供:/proc:包括内存,CPU,网络等/sys:设备驱动,网络环境(/sys/class/net/)等我们先通过proc/stat 来获取cpu的整体情况adb shell catproc/stat转存失败重新上传取消在对图片中的数据进行解析第一列中(cpu ) :是cpu的...原创 2020-04-17 17:16:25 · 435 阅读 · 0 评论 -
笔记梳理:adb常用命令
1.查看APP的Package 进入appt程序的安装路径(D:Program Files\Android\sdk\build-tools\21.1.2)aapt dupm badging xxx.apk |findstr"package"2.查看APP的MianActivity 进入appt程序的安装路径(D:Program Files\Android\...原创 2020-04-17 17:14:25 · 338 阅读 · 0 评论 -
Python +Selenium 底层API封装(日志+截图管理)
框架思路参考Selenium2测试框架构思系列文章使用:import seleniumKingking = seleniumKing.WebTools(path)king.Open(URL)直接附上源码: import osimport sysimport timefrom PIL import Image, ImageFilterfrom pytesserac...原创 2018-08-08 15:08:04 · 1136 阅读 · 0 评论 -
Python +Selenium 测试框架unittest+邮件+测试报告
集中为测试用例管理,我们这里用到了unittest+email和前文提到的修改过后的HTMLTestRunner集中管理测试用例,我们这里用到了unittest+email 和前文提到的修改过后的HTMLTestRunner使用过程中直接:Run 就可以执行指定目录中的全部测试用例,自动生成测试报告:testOutput\html\gf.html邮件发送到指定的邮箱中impo...原创 2018-08-08 15:18:46 · 1274 阅读 · 0 评论 -
Python 自定义随机字符串
本篇文章主要是:前段时间在工作需要创建多个随机密码:这个密码需要包含字母/数字/字符,当时就直接在使用的地方写了一个简单的随机方法,但是下去之后和同事进行了一下沟通,其实他们在平时的工作中也会用到一些随机字符串,最后就想着整理一个单独的类,可以进行各种类型字符串的随机生成。 简单描述一下这个类的基本满足需求:可以自定义随机一组字符串,自定义包含:1...原创 2018-08-27 14:36:39 · 1623 阅读 · 0 评论 -
接口测试:预告篇
在测试历程中我们都应该记得有个测试金字塔如下:越在金字塔的底层测试覆盖的就越全面,成本越低。但是其实在测试实施的过程中我们会发现,其实除了金字塔外我们还有个模型图,椭圆模型如下:通过对接口测试与UI测试,单元测试做对比,发现接口测试(api)性价比是比较高的。之后我们一起来看看接口测试,其实通俗点说就是对不同组织间的通信方式进行规范性的测试。重点在于:数据交换和传递,及对过程的管理,组织...原创 2018-09-25 15:44:21 · 240 阅读 · 0 评论 -
接口测试-Jmeter:安装篇
一。JMeter 安装前需要准备以下环境: 1. JMeter是100%纯java应用程序,环境中我们需要对JDK环境进行安装与配置,这里就不多说前面的文章中有说明:JDK安装配置:环境搭建-JAVA 2.JMeter 下载:二。JMeter 运行 及语言设置 1.双击:D:\apache-jmeter-4.0\bin 目录下的jmeter.bat 启动运行...原创 2018-10-11 09:36:11 · 207 阅读 · 0 评论 -
接口测试-Jmeter:登录篇
在接口测试的工作中我们一般首先面对的时登录操作,由于部分系统出于对安全性的考虑,登录做的都比较复杂如:1.参数加密传输;2.需要输入验证码;3.需要进行ToKen等。面对这里都是让我们接口测试时比较头疼的,那我们就先从易到难说下去。 1.常规登录: 首先我们要建一个HTTP 请求默认值,将公共用到的协议,服务器或ip,端口进行...原创 2018-10-11 10:37:11 · 25485 阅读 · 4 评论 -
敏捷测试-测试流程调整
在刚听到敏捷测试的时候做过一定的了解。但是实际项目中并没有碰到过,就一直没有系统的理解和调整过。前段时间接手一个使用敏捷开发的项目,从产品设计到第一版上线的时间只有2个月的时间。这让原有的测试流程饱受打击。如何快速的面对敏捷制定符合自己的测试流程,更好的服务于项目成为团队的首要任务。 通过思考与讨论,对原有的测试流程做出了调整:一. 测试产出调整:测试计划,测试点,测试...原创 2018-10-31 16:44:42 · 6714 阅读 · 0 评论 -
Python +Selenium日志系统搭建
在自动化测试过程中如何对错误如何定位,主要的手段就是进行日志定位,主要形式有两种:1.控制台;2.日志文件。调用:import Loggerlogger = Logger(path).getlog()logger.info("前进浏览器")话不多说直接上源码:# _*_ coding: utf-8 _*_import loggingimport os.pathimp...原创 2018-08-08 15:03:16 · 1205 阅读 · 0 评论 -
Python+Selenium 测试报告优化
本次优化是基于网络共享模板(python 3.x): 1.界面排版优化 2.增加圆饼图统计 整体效果如图:使用方式:report_path = os.path.join(os.getcwd(), r"testOutput\html\report.html") fp = open(r...原创 2018-08-08 14:44:46 · 2261 阅读 · 2 评论 -
JAVA_Uiautomator小记之 Uidevice
之前有对Uiautomator 有一个大致的说明,在学习过程中大家一定为API文档伤神了,我这边整理了一下共享给大家,方便自己进行了有效的记忆。 首先要归纳的是UideviceUidevice是提供关于设备的状态信息。也可以使用这个类来模拟装置上的用户的行为。 初始化Uidevice private UiDevice(Instrumentation instrume...原创 2017-12-07 14:55:42 · 578 阅读 · 0 评论 -
JAVA_Uiautomator小记之 环境搭建-Android
对于android环境的安装及配置前,先了解一下SDK的组成及每个模块的作用。下面我们通过SDK的目录文件的来进行了解:add-ons:该目录下存放第三方公司为Anddroid平台开发的附加功能(库)如:GoogleMaps build-tools:各个版本的与编译相关的重要工具,比如aapt、aidl、逆向调试工具dexdump和编译脚本dx docs:离线开发者文档Androi...原创 2017-12-07 14:59:09 · 886 阅读 · 0 评论 -
JAVA_Uiautomator小记之 环境搭建-JAVA
上篇文章中简单说明了一下Uiautomator 2.0相对1.0 的相关变化,及开发的准备工作。分别下载了:Android Studio+jdk环境+android SDK 下面我们来说说java 的环境安装及配置: 1.安装java: 安装过程中会提到两个路径的选中:jdk 和 jre 那么我们了解一下这分别是干嘛的? ...原创 2017-12-07 15:01:15 · 1209 阅读 · 0 评论 -
monkey--小记-1
Monkey是Android中的一个命令行工具,可以运行在模拟器里或实际设备中。它向系统发送伪随机的用户事件流(如按键输入、触摸屏输入、手势输入等),实现对正在开发的应用程序进行压力测试。Monkey测试是一种为了测试软件稳定性、健壮性的快速有效的方法。下面我将对自己已知的monkey进行整理,方便以后的学习以及巩固。 Monkey程序由Android系统自带,使用Ja...原创 2018-01-18 18:24:23 · 1050 阅读 · 0 评论 -
monkey--小记-2
上文对monkey的简单应用做了简单的整理,本篇就针对monkey的日志收集以及基础信息采集进行整理。在此之前我们就所需要用到的.bat先进行归纳。 我们要做到的功能有哪些,其中要用到那些语法,我们先列出来功能,在通过功能实现我们要用到的方法。 一,要在每次运行的时候获取到使用机器的基本参数:品牌,型号,系统。 二,为了保证运行稳定,需要将软件...原创 2018-01-23 14:23:17 · 313 阅读 · 0 评论 -
测试用例编写及管理
前段时间将项目中的测试用例进行了一次大规模的整理,从工作量出发认识到了测试用例书写及管理规范的重要性。规范的测试用例管理可以为后续的测试工作节约不小的工作量。随着互联网时代的到来,项目迭代的频率越来越快。测试用例的可持续性尤为重要。如何有效的将测试用例进行编写及管理慢慢也成为测试工作者思考及修正的必修课。下面我将针对自己在测试工作中的一些积累及个人认为有助于有效管理测试用例的小技巧整理出来分享...原创 2017-12-07 14:49:49 · 2484 阅读 · 0 评论 -
JAVA_uiautomator 2.0 模拟monkey性能测试 基础工作
本篇文章主要是用以介绍用uiautomator模拟monkey的点击事件运行机制来进行自动化的测试用例书写,为后期性能测试做基础。我们将写一个基础的case做试例。 一,模拟点击 首先我们要获取页面中可以点击的元素存在一个List中,供我们后面点击随机事件做准备,需要用到的是“By.clickable(true)” List<UiObj...原创 2018-03-16 10:24:06 · 597 阅读 · 0 评论 -
JAVA_uiautomator 2.0 模拟monkey性能测试 性能数据
本篇文章是继《基础工作》后,我们对性能测试过程中数据的一个获取。一改我们常用的定时获取数据的方式,我觉得要想更好的对应用进行性能测试,我们不止要知道何时性能数据会升高,还要知道什么操作会使性能数据上升,所以我将会在每次点击之后触发一次性能数据的获取,之后可以日志系统对操作进行定位。那么现在我将会获取“内存”“CPU”数据进行获取,至于流量及电量本篇文章暂时不进行说明。 一,内...原创 2018-03-19 14:40:12 · 538 阅读 · 0 评论 -
JAVA_uiautomator 2.0 模拟monkey性能测试 本地日志系统
前面的文章中基本的case及数据准备工作都已经完成了,现在我们就进行的工作:日志本地化。这里我们要进行两个数据进行本地话,一个就是操作日志,一个就是性能日志。这里我们将分别用两中文本载体记录:text+xls。这样有助于我们对性能数据的分析。 第一步:我们要建一个日志写入的方法在每次操作的时候将操作信息写入 这里我们需要考虑到两点:一个日志命名问题...原创 2018-04-11 17:56:01 · 523 阅读 · 0 评论 -
JAVA_Selenium Appium安卓自动化测试 -环境准备
最近这段时间,由于项目中出现了webView。我们不得不考虑使用新的技术去对这个webView进行自动化测试,最终决定使用Appium+selenium+java 技术。为了以后能够更好的学习及掌握技术,我将我整个从零学习过程记录下来,写相关系列的文章分享出来,巩固自己的知识体系。 首先我们需要了解一下,这套技术实现的一个原理。这里面我们将用到两个大件:Appium,seleni...原创 2018-04-26 15:54:44 · 1153 阅读 · 0 评论 -
JAVA_Selenium Appium安卓自动化测试 -第一个case
上文中我们已将环境准备好了,现在我们就利用一个case来认识这套框架。我们先利用Intellij IDEA(下问中我都以IDEA称)新建一个maven项目。由于我使用的电脑无法连接外网,所以项目中我将依赖重新添加到lib 目录中添加依赖的过程大家可以连接到中央库可以忽略。 1.打开IDEA我们新建一个项目 2.选中Maven,勾选Create from...原创 2018-04-27 09:43:08 · 1973 阅读 · 0 评论 -
Selenium2测试框架构思-01
编写本篇文章的目的是为了在今后的自动化测试学习中提供一个好的文档指导,更有效的进行框架的优化及维护。同时也为安卓自动化测试框架搭建提供一定的可行性依据。在开始框架整理之前我先对框架最终效果进行一个设定,也是给自己建立一个目标。分层明显:业务逻辑层,操作逻辑层,基础操作层,数据层(测试数据,元素数据,配置数据)日志清晰:操作日志,错误日志功能丰富:接口测试,数据库测试,基础功能测试,...原创 2018-07-27 15:15:22 · 211 阅读 · 0 评论 -
Selenium2测试框架构思-02
Selenium封装在封装过程中我尽量做到2点:多次出现的代码尽量提取出来;结构清晰保证可阅读性。下面是我规划了一个相对明了的结构体系,可以帮助自己比较好的构建好整个封装思路。在这个封装过程中会发现我们在元素查找仅到By,这是因为为了更好的解决由于页面元素变化增加自动化维护成本的问题,我在下面的文章中会对页面元素封装思路中有具体的介绍。我们在开始方法之前我们先做一个准备工作,我们需...原创 2018-07-27 15:19:19 · 280 阅读 · 0 评论 -
Selenium2测试框架构思-03
其实在我们测试的过程中会发现有很多数据问题需要处理,比如页面上返回的数据是不是对的?数据是不是全的?这些我们都需要我们有一个判断,但是这些数据如何来,现在我这里提供了3条路径来解决这个问题:1.数据库直接获取;2.通过接口返回数据;3.通过xls保存数据。当然在实现了以上三个功能后,我们可以依据这个做更多的事情。比如:接口测试,数据库测试,数据驱动。同时还可以用来定位一些问题。通过对数据库数据,接...原创 2018-07-27 15:22:19 · 204 阅读 · 0 评论 -
Python +Selenium 支持多项目集中配置文件管理Yaml
在自动化测试项目管理经常会遇到2个问题: 1.我手头上有多个需要做自动化的项目,我每个项目都要新建一个项目文件吗? 2.一些基础的配置信息如何高效的进行管理? 争对这2个问题,这边采用了Yaml 进行配置文件的一个管理:YAML 是一种简洁的非标记语言。YAML以数据为中心,使用空白,缩进,分行组织数据,从而使得表示更加简洁易读。 ...原创 2018-08-09 15:38:05 · 1350 阅读 · 0 评论 -
Python +Selenium 数据驱动 excel文件读写
在测试过程中我们经常会遇到需要大量测试数据进行支持的时候,如添加批量数据,多用户登录等。为此我们需要用excel文件来准备大量数据,这里就涉及到了 excel文件读取的读取:我们直接贴代码吧!代码中有详细的说明class ExcelReader: """ 读取excel文件中的内容。返回list。 如: excel中内容为: | A | B ...原创 2018-08-09 15:54:03 · 2856 阅读 · 0 评论 -
JAVA_Uiautomator小记之 UiSelector
UiSelector用于获取操作对象用于后续的操作,UiSelector 获取对象一般依具备两类,一类是控件属性,一类是控件层级关系。要想获取对象,就需要先了解一下,有哪些对象的属性可以供我们进行获取。index **为同一级别组件的编号 instance **针对的是整个页面的同一类控件的序号 text ** 文本 class** 类 package *...原创 2017-12-07 14:53:43 · 892 阅读 · 0 评论