jmeter+Jenkins自动化测试部署方法

    今天整理了一下jmeter测试脚本配置到Jenkins执行的步骤,以便查阅。

    我用的是win10 64位系统,jmeter为5.2.1版本,Jenkins为2.190.3版本;已提前配置好JAVA环境变量。

一、Jmeter测试脚本

1. 新建线程组

       在测试计划的右键菜单中点击【Thread Group】,新建一个线程组;

        命名,并设置线程组的参数(我使用的默认参数)。

2. 创建http请求

       在线程组的邮件菜单中点击【HTTP Request】,创建一个http请求;

       命名,填写http的协议及IP端口,选择请求方式get或post等,输入URL的上下文,在参数下方点击【add】,添加参数名称及参数值,并输入content-type。

        在URL或parameter中若需使用自带函数作为参数,如时间戳,可用${__time(,)}调用

3. 获取接口返回值作为变量

        在http请求的右键菜单中点击【JSON Extractor】,

        输入要创建的变量的名称,以及要获取的json中值的路径($.token表示获取json中key为token的value值),在URL或parameter中使用时,用${token}调用。

        选择断言的内容,选择匹配方式,点击【add】添加期望值。下图中,我选择了响应码,匹配方式选择了matches,期望内容为200,表示只有获取的响应码与我预期值200完全一致时断言才通过;

        下图中我选择了响应文本,当响应文本中包含期望的文本内容时,断言即为通过。

5. 执行并查看结果

       可在线程组右键菜单中点击【View Results Tree】【Assertion Results】【Summary Report】,添加查看结果树,断言结果,简要报告

    点击【start】可开始执行,点击【clear】可清除当前的结果;执行后,即可查看结果

6. 保存脚本并执行

       保存测试计划到指定路径,它是一个jmx文件。

       在cmd中,进入jmeter所在路径cd D:/Program Files/apache-jmeter-5.2.1/bin/,执行以下命令,在指定路径生成测试结果test.jtl,及测试报告html文件:

**********************************************

jmeter.bat -n -tE:/JmeterData/serverServerLogin.jmx -l E:/JmeterData/report/test.jtl -e -oE:/Jm eterData/html

**********************************************

        注意要保证test.jtl当前不存在,且html的文件夹是空的,不然会报错

二、接入Jenkins

1. 创建项目并配置

       在Jenkins中创建一个自由风格的项目,并命名;

       点击【构建】,选择【Execute Windows batch command】,输入以下命令(生成的文件无法覆盖,要先删除指定路径下的文件,避免因为指定路径不为空而报错):

**********************************************

del E:\JmeterData\report\test.jtl

rmdir /s/q E:\JmeterData\html

mkdir E:\JmeterData\html

cd D:/ProgramFiles/apache-jmeter-5.2.1/bin/

jmeter.bat -n -t E:/JmeterData/serverServerLogin.jmx-l E:/JmeterData/report/test.jtl -e -o E:/JmeterData/html

**********************************************

2. 集成html报告

       在Jenkins中点击【构建后操作】,选择【Publish HTML reports】,填写html报告的位置、名称及集成到Jenkins后报告的名称

3. 执行测试并查看报告

       在项目首页上点击【build now】,待执行完毕后,即可点击报告查看

4. html报告无法加载css问题

       查看报告时,发现未加载css文件,导致数据丢失,如下:

        解决方法是打开【Manage Jenkins】-【Script Console】,输入以下命令,点击【执行】

**********************************************

System.setProperty("hudson.model.DirectoryBrowserSupport.CSP","")

**********************************************

        这样再执行测试,生成的报告就可以加载css了,如下:

        至此,一个jmeter脚本接入Jenkins自动化测试的简单示例完成。

        这种方式有一个缺点,无论jmeter的用例是否通过,Jenkins构建的结果都是SUCCESS,若想知道用例通过结果还需要打开报告查看。无法直接通过Jenkins构建的状态获得用例通过结果,感觉这样不太方便。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容