摘要:
一,背景 测试数据的准备在测试工作中非常重要。无论是手工测试,还是自动化测试;无论是GUI测试,还是API测试;无论是功能测试,还是性能测试,都避不开它。要成为一名优秀的测试工程师,数据准备的技能必须要掌握,这里就简单介绍一下文本文件的读写,并结合自动化测试示例进行演示。 二、文件读写 在之前的《p 阅读全文
摘要:
一、背景 一般进行接口测试时,每个接口的传参都不止一种情况,一般会考虑正向、逆向等多种组合,所以在测试一个接口时,通常会编写多条case,而这些除了传参不同外,并没有什么区别。这个时候就可以利用ddt来管理测试数据,提高代码复用率。 二、ddt安装 ddt是python的第三方库,安装非常简单: d 阅读全文
摘要:
1. 页面部分 页面清单是否完整(是否已经将所需要的页面全部都列出来了)。 页面是否显示(在不同的分别率下页面是否存在,在不同浏览器版本中页面是否显示)。 页面在窗口中的显示是否正确、美观(在调整浏览器窗口大小时,屏幕刷新是否正确)。 页面特殊效果(如特殊字体效果、动画效果)是否显示。 页面特殊效果 阅读全文
摘要:
一、测试需求评审 1. 需求评审的意义 :充分熟悉软件需求,为编写测试用例打下基础;若发现软件需求中有不明确的地方,可以当场沟通,有利于推进测试工作;和开发人员一起参与评审,有助于了解开发的技术方案,有利于测试工程师设计更有效的测试用例。 2. 完善的需求应具备的特点 完整性:每一项需求都必须将所有 阅读全文
摘要:
1、控制键 | KEYCODE_ENTER | 回车键 | 66 | | | : : | : : | | KEYCODE_ESCAPE | ESC键 | 111 | | KEYCODE_DPAD_CENTER | "导航" 键 确定键 | 23 | | KEYCODE_DPAD_UP | 导航键 向 阅读全文
摘要:
一、定义 JSON(JavaScript Object Notation,JavaScript对象表示法,读作“Jason”)是一种由道格拉斯·克罗克福特构想和设计、轻量级的数据交换语言,该语言以易于让人阅读的文字为基础,用来传输由属性值或者序列性的值组成的数据对象。尽管JSON是JavaScrip 阅读全文
摘要:
一、背景 经常在python程序中会使用这条语句,但是却习以为常,并没有真正理解其含义,那它具体的含义,有什么作用呢?其实它的作用就是为了控制程序的执行过程。 要理解它使用方法,需要知道:.py文件是可以直接执行,就像一个程序一样;另外,.py文件也可以作为模块被导入,使用import语句就能实现。 阅读全文
摘要:
一、构造函数 1、定义 构造函数__ init __称为class的构造函数与构造方法,一般作为实例化设置初始值而存在的。即一般是为了初始化对象时将必须要用到的属性、方法做一些定义,而存在。 2、作用 __ init __(self)这个是构造方法,实例化一个对象时,这个方法就会在对象创建时自动调用 阅读全文
摘要:
一、迭代器 迭代器的名称看起来比较陌生,其实在使用列表(list)和元组(tuple)的时候已经使用过,只是在使用的时候是结合for in range取列表中的每一个元素,并对每一个元素进行相应的操作,这种方法称之为迭代,而能够实现这种方法的函数,称之为迭代器。 结果: 二、生成器 生成器也是迭代器 阅读全文
摘要:
一、常见异常 NameError错误,比如: 结果: SyntaxError错误,比如: 结果: ValueError错误,比如: 结果: IndexError错误,比如: 结果: IndentationError错误,也就是缩进错误,比如: 结果: KeyError错误,比如: 结果: Attri 阅读全文
摘要:
一、列表生成式 列表生成式是利用其他列表创建新列表,其中可以嵌套for或者if。比如要找到1~20之间的偶数,一般情况下可以这样操作: 显示结果为: 这样写的话代码量还是非常多的,其实可以用列表推导式进行优化,如下: 其结果为: 二、字典生成式 字典生成式和列表生成式类似,比如: 有10个学生,成绩 阅读全文
摘要:
一、存储位置不同 Cookie的数据信息存放在客户端的浏览器上。 Session的数据信息存放在服务器。 二、存储容量不同 单个Cookie保存的数据≤4KB,一个站点最多保存20个Cookie。 对于Session并没有上限,但是出于对服务器端的性能考虑,Session内不要存放过多的东西,并且要 阅读全文
摘要:
一、简介 monkey "test" ing,也有人叫做搞怪 " 测试 " 。就是用一些稀奇古怪的操作方式去测试被测试系统,以测试系统的稳定性。monkey " test " ,一般指这样的测试活动,用毫无规律的指令或操作使用被测系统,观察系统的稳定性和 "容错性能" 。 二、原理 Monkey测试 阅读全文
摘要:
一、下载charles软件 Charles是一个网络抓包工具,类似于WireShark、Filddler、mitmproxy等,这里我们利用charles进行抓包分析,为什么我们要选charles呢?因为charles的功能更强大,而且跨平台支持更好,抓取移动端App数据包非常便利。 下载地址:ht 阅读全文
摘要:
一、创建java工程 1、安装maven 下载地址:http://maven.apache.org/download.cgi,本机为windows10,所以下载的版本为下图所示 配置环境变量:把下载包解压后,右键桌面“此电脑”,然后点击“属性”。 然后,在弹出的新界面中,在系统变量部分单击“新建” 阅读全文
摘要:
一、分布式压测优点 单机发出的压力能力有限 被压测系统没到瓶颈之前,发压机难免先发生资源不足的情形 分散部署多个JMeter Agent,将压测脚本远程运行在它们身上,共同实 施压测 人多力量大 二、分布式压测系统架构 三、分布式压测系统搭建 1、搭建步骤 确定Master控制机器和Agent远程机 阅读全文
摘要:
一、部署Grafana + InfluxDB (一)、docker-compose部署Grafana + InfluxDB 1、docker-compose.yml文件 version: '3.9' services: influxdb: image: influxdb:1.7.9 ports: - 阅读全文
摘要:
一、背景 在打开应用程序的页面时,总会有加载的时间,有时候在获取页面元素时,页面还没有加载完毕,导致无法定位某些想要获取的元素,此时就需要利用等待方法。 二、隐式等待 方法:driver.implicitly_wait(时间) driver.implicitly_wait(5) 作用:设置隐式等待后 阅读全文
摘要:
1、使用UIAutomatorViewer获取界面元素的特征信息来定位。首先,进入Android SDK的安装目录(本机安装在D:\Android\android sdk\tools)。 然后,在tools文件下,找到uiautomatorviewer.bat,双击打开。 2、接着,电脑连接真机或者 阅读全文
摘要:
一、操作步骤 1. 首先,在tools文件下,找到uiautomatorviewer.bat,双击打开。 2. 接着,电脑连接真机或者电脑打开模拟器 3. 然后,用adb命令连接真机或者模拟器,打开命令行工具CMD,输入命令 4. 然后,在手机或模拟器中打开对应的应用 5. 接着,点击左上角Devi 阅读全文