1、利用ant生成测试报告
1.1什么是Ant?
首先,Ant翻译过来是蚂蚁的意思,在我们做接口测试的时候,是可以用来做JMeter接口测试生成测试报告的工具,(原理有点类似于postman生成测试报告用newman生成测试报告类型)
Ant是隶属于Apache旗下的一个最优秀的java构建工具,其任务是驱动构建文件中描述为相互依赖的目标和扩展点的进程。
Ant的主要已知用途是构建java应用程序。Ant提供了许多内置任务,允许编译,组装,测试
和运行java应用程序。Ant还可以有效的构建于非java应用程序,例如C或C++应用程序
更多的说,Ant可以用于实验任何类型的过程,这些过程可以用目标和任务来描述。
用最直白的话来说就是,就是JMeter整合ant可以生成HTM;的测试报告
1.1ant的下载和安装
下载地址:https://ant.apache.org/bindownload.cgi
点击下载地址 即可 解压在相关目录就可以 如下图所示
1.2Ant的环境搭建
因为ant是一个java库的命令行工具,所以我们在运用ant的时候是需要进行在本地设置环境变量的
如下图所示
点击环境变量
在系统变量中选择Path点击编辑
找到ant下的bin目录 添加到环境变量中,点击确定
1.3验证Ant环境是否正确搭建
在cmd控制台当中 输入ant
出现上述提示 即为ant环境已经搭建成功
1.4关于build.xml
我们需要把build.xml放到指定的目录内 如下图所示
1.5关于JMeter的目录结构
我们需要在JMeter文件里创建一个新的文件夹 命名为tests 如下图所示
tests 文件夹:是用来存放测试中所有的资料
在tests文件夹内 创建两个新的文件夹 命名为report和script
report文件夹:存放测试报告,里面再创建html和jtl
script文件夹:是用来存放测试的脚本
在report文件夹内创建两个新的文件夹 分别为html和jtl文件夹 如下图所示
这个时候我们就把所有文件给创建成功
在我们以后的工作中 把JMeter保存的测试文件都放到script文件夹内即可 如图所示
1.6自动发送邮件插件的安装
我们需要用到三个插件 分别为
activation.jar
commons-email-1.2.jar
mail.jar
将三个文件放在ant的lib目录下即可
因为我们创建了新的目录结构 所以我们前面的build.xml文件需要调整
将build.xml文件放在JMeter文件的tests文件夹内 如下图所示
1.7关于Ant生成测试报告前的前置条件
我们需要改一下配置文件 才可以让Ant工具正常的运行
我们先找到JMeter的bin目录下的jmeter.properties文件 如下图所示
以记事本的方式打开,
Ctrl+F搜索jmeter.save.saveservice.output_format=csv关键字
将前面的注释解除 后面改成xml的数据格式 如下图所示
1.7.1 关于build.xml的内部详解 需要更改的配置
最后一步
在apache-jmeter的extras下找到ant-jmeter-1.1.1.jar,把它复制到ant的apache-ant-1.10.0\lib下,即可这样我们所有的配置都已经更改好了
可以进行接下来的生成测试报告工作了
1.8利用Ant生成HTML测试报告
在cmd控制台当中输入ant 即可生成测试报告,如下图所示
在生成完成后 我们可以看到在JMeter文件夹内的test的report的html文件夹内 生成了一份测试报告 如下图所示
打开后如下图所示
这样我们就完成了ant生成HTML测试报告了
在我们和上级领导汇报测试报告的时候要写的数据如下
总测试用例个数 | 18 |
成功率 | 90% |
失败率 | 10% |
失败原因 | 自己代码写的不对,导致测试测试失败 |
覆盖的场景 | 登录,产品管理,地址管理 |
结论 |
本次自动化测试完整的覆盖了登录业务,产品管理业务,地址管理业务,所有的测试场景测试通过 |
在配上生成的HTML测试图就可以了
2、JMeter的组件介绍
2.1用户自定义变量
2.1.1用户自定义变量介绍
用户自定义变量组件其实用到的也是数据驱动的思想,即为把公共的单独分离出来,定义成变量,在后面直接调用,
举例说明:例如登录的用户名和密码
2.1.2我们怎么去添加该组件?
在我们创建的线程组内 右键添加 配置原件里面的用户定义变量
2.1.3我们应该怎么用该组件
创建好后 放在线程组的下一个层级内 ,将需要的值写入到该组件内
这样在其他测试用例想要调用该变量的话直接使用${被调用的名称}即可,如下图所示
2.2延时等待组件
2.2.1延时等待组件介绍
因本人在学接口测试前 学习过python的ui自动化测试
在python自动化测试中有time库 其中time.sleep()即为固定等待
那么在JMeter中延时等待组件的意思一样 意为每自动进行一个测试用例 都会固定等待XXms
2.2.2我们怎么添加该组件?
在线程组处右键,选择添加定时器当中的固定定时器
固定定时器的延迟为毫秒(ms) 1秒(s)=1000毫秒(ms)
这样在我们运行自动化测试的时候,就会每个测试用例之间等待一秒,防止接口因运行太快导致错误