JMeter接口测试-6.JMeter项目实战

1.项目介绍

知识点:

  • 微信小程序项目及接口文档介绍

1.1 微信小程序项目介绍

1.2 接口文档介绍

  • 详细见接口文档

2. 接口测试用例编写

问题

  • 大量的测试脚本与测试数据混合在一起

  • 尽管使用了参数化,但随着接口增加,HTTP取样器也随着增加

解决办法:

  • 使用数据驱动实现

数据驱动

数据驱动Data Driven Testing(DDT),是一种用于创建自动化测试的方法,或者说是一种架构, 本质是输入数据和用这些数据获取测试结果, 使测试逻辑和测试数据分离.

DDT的优点是测试工程师不必为每一个输入数据创建一个单独的测试用例, 测试在一个实例中创建, 并且输入测试数据和预期结果在表格文件中获取

2.1 CSV格式接口测试用例设计

详细见微信小程序接口测试用例.csv文件

2.2 JMeter接口编写

  1. 用excel表格打开新建的csv文件,设计测试用例

  2. 添加线程组,在线程组下新增循环控制器,循环次数设置为永远

  3. 循环控制器下在循环控制器下添加csv 数据文件设置

  4. 在循环控制下添加如果(if)控制器,主要是判断如果是get方法就走这个if_get控制器, 如果是post方法, 就走if_post控制器.

    • 根据调用方法选择请求方式

      • 通过if选择器区分GET与POST方法的请求,配置http请求

      • Post请求的配置方式:post请求参数放在bodydata中,(设置一个http信息管理头content-type:application/json来传入json格式的参数)。

      • Get请求的配置方式:get请求的参数配置url后面

  5. 配置响应断言及数据库验证

3. Jenkins集成JMeter

3.1 Jenkins介绍

什么是持续集成?

  • CI(Continuous integration)

  • 持续集成是一种软件开发实践,即团队开发成员经常集成他们的工作,通常每个成员至少集成一次,也就意味着每天可能会发生多次集成。

  • 每次集成都通过自动化的构建(包括编译,发布,自动化测试)来验证,从而尽快地发现集成错误。

  • 许多团队发现这个过程可以大大减少集成的问题,让团队能够更快的开发内聚的软件。

为什么要进行持续集成?

  • 集成测试时,发现很多接口不通或逻辑不对

    • 浪费大量集成测试时间
  • 版本提测时,需要手动去编译打包最新的代码

    • 提测等待时间较长
  • 线上测试时,手式发布代码及上线

    • 容易出现脚本混乱,影响上线质量,导致频繁的代码回滚

Jenkins介绍

Jenkins是一个开源软件项目,是基于Java开发的一种工具,可扩展的持续集成、交付、部署(软件/代码的编译、打包、部署)的基于web界面的平台。允许持续集成和持续交付项目,无论用的是什么平台,可以处理任何类型的构建或持续集成。

Jenkins特点

  • 开源免费

  • 安装配置超级简单

  • 跨平台,支持所有的平台

  • web形式的可视化的管理页面

  • 分布式构建

  • 丰富的插件支持

3.2 CentOS下搭建Jenkins持续集成环境

1、安装JDK

复制代码
yum install -y java

2、安装jenkins

添加Jenkins库到yum库,Jenkins将从这里下载安装。

复制代码
1 wget -O /etc/yum.repos.d/jenkins.repo http://pkg.jenkins-ci.org/redhat/jenkins.repo
2 rpm --import https://jenkins-ci.org/redhat/jenkins-ci.org.key
3 yum install -y jenkins

配置jenkis的端口

复制代码
vi /etc/sysconfig/jenkins
​

找到修改端口号:

JENKINS_PORT="8080" 此端口不冲突可以不修改

3、启动jenkins

复制代码
service jenkins start/stop/restart
​
  • 安装成功后Jenkins将作为一个守护进程随系统启动

  • 系统会创建一个"jenkins"用户来允许这个服务,如果改变服务所有者,同时需要修改/var/log/jenkins, /var/lib/jenkins, 和/var/cache/jenkins的所有者

  • 启动的时候将从/etc/sysconfig/jenkins获取配置参数

  • 默认情况下,Jenkins运行在8080端口,在浏览器中直接访问该端进行服务配置

  • Jenkins的RPM仓库配置被加到/etc/yum.repos.d/jenkins.repo

4、打开jenkins

在浏览器中访问 首次进入会要求输入初始密码如下图, 初始密码在:/var/lib/jenkins/secrets/initialAdminPassword

选择"Install suggested plugins"安装默认的插件,下面Jenkins就会自己去下载相关的插件进行安装。

创建超级管理员账号

3.3 Jenkins修改显示语言为中文

安装插件

  • 主界面 -> 系统管理 -> 插件管理 -> 可选插件

  • 安装插件Locale plugin

  • 安装插件Localization: Chinese(Simplified)

修改配置

  • 系统管理 -> 系统设置 -> Locale

  • 若修改为中文简体,Default Language设置为:

复制代码
zh_cn
  • 若修改为中文繁体,Default Language设置为:
复制代码
zh_tw
  • 若要修改回英文,Default Language设置为:
复制代码
en_us

勾选:"Ignore browser preference and force this language to all users" 并保存。

3.4 jenkins重启

复制代码
浏览器地址栏输入
http://localhost:8080/restart

3.5 远程访问

  1. 关闭防火墙,命令如下:

    复制代码
    查看---  systemctl status firewalld.service
    关闭---  systemctl stop firewalld.service(重启系统后防火墙会重启开启)
    永远禁止防火墙-- systemctl disable firewalld.service
    启动:systemctl start firewalld.service
    防火墙随系统开启启动  : systemctl enable firewalld.service

    永远禁止防火墙-- systemctl disable firewalld.service

3.6 插件安装及配置

3.6.1 插件及相关软件安装列表

**插件:**jenkins->系统管理 ->管理插件->可选插件

  • HTML Publisher

  • Email Extension Plugin

  • Ant Plugin

**系统环境:**虚拟机CentOS7

软件列表:

  1. ant--下载地址:Apache Ant - Binary Distributions

  2. jmeter--下载地址:Apache JMeter - Download Apache JMeter

  3. git--下载地址:Git - Downloads

3.6.2 git下载

  1. 可使用Yum直接安装

复制代码
yum install git
  1. 配置git:Manage Jenkins->Global Tool Configuration->Git

3.6.3 Ant安装及配置:

  1. 下载Ant包apache-ant-1.9.14-bin.tar.gz

  2. 解压缩tar -zxvf apache-ant-1.9.14-bin.tar.gz

  3. 把解压的文件件apache-ant-1.9.14移动在/usr/share/ant目录

复制代码
mv apache-ant-1.9.14 /usr/share/ant
  1. 配置ant环境变量

复制代码
vi /etc/profile
export ANT_HOME=/usr/share/ant
JMETER_HOME=/opt/apache-jmeter-5.2.1/
export PATH=$ANT_HOME/bin:$PATH:$JMETER_HOME
  1. Ant配置Manage Jenkins->Global Tool Configuration->ant

3.6.4 JMeter安装及配置

  1. 把本地的JMeter直接上传到服务器上,路径/opt/apache-jmeter-5.2.1/

  2. 配置环境变化JMETER_HOME

    复制代码
    vi /etc/profile
    export ANT_HOME=/usr/share/ant
    JMETER_HOME=/opt/apache-jmeter-5.2.1/
    export PATH=$ANT_HOME/bin:$PATH:$JMETER_HOME
  3. 修改JMeter配置jmeter.properties

复制代码
jmeter.properties文件中修改jmeter.save.saveservice.output_format=csv 为  jmeter.save.saveservice.output_format=xml,并去掉前面的注释符号#
  1. jmeter安装目录apache-jmeter\extras的ant-jmeter.jar复制到ant安装目录下ant\lib下

3.7 Jenkins配置及运行

3.7.1 创建Jenkins项目

步骤:

  1. 进入Jenkins主页

  2. 点击新建

  3. 输入项目名称 ,并点击构建一个自由风格的软件项目。

  4. 点击确定

3.7.2 配置Jenkins项目

3.7.2.1 General配置

基本设置包括项目名称、描述、保存构建历史时间等,通过url或者cli方式触发任务可以向任务进行传参,必要的是指定节点(label)

3.7.2.2 源码管理配置

前置操作:

  • 上传JMeter相关文件到github

  • git安装

操作步骤:

  1. 勾选 Git,输入 Repository URL

    复制代码
    Repository URL 填写具体git上的仓库url,如果为私有,需要继续添加Credentials,如果为公有直接填写url即可,Credentials为none,
  2. 点击 Add,点击 Jenkins

  3. 输入 github 用户名和密码,点击Add

3.7.2.3 构建触发器 配置

操作步骤:

  • 勾选 Poll SCM,日程表中填写 */1 * * * *

参数介绍

其中有 5 个参数,分别表示:

  • MINUTE:Minutes within the hour(0-59)

  • HOUR:The hour of the day(0-23)

  • DOM:The day of the month(1-31)

  • MONTH:The month(1-12)

  • DOW:The day of the week(0-7)where 0 and 7 are sunday

常用配置:

  • 0 * * * * 为每个小时执行一次

  • 0 1 * * * 为没天的凌晨1点执行一次,这种配置的设置,适合执行一些冒烟的测试用例

  • 第一个参数:min,0-59

  • 第二个参数:hour:0-23

  • 第三个参数:day:0-31

  • 第四个参数:month:1-12

  • 第五个参数:week:0-7(0 和 7 代表 Sunday)

3.7.2.4 构建 配置
  1. 使用Ant运行

3.7.2.5 构建后操作配置

报告配置

操作步骤:

  1. 点击 增加构建后步骤,选择HTML Report

邮件配置

此时可以选择Editable Email Notification来构建邮件通知。 在此处,之前的邮件主题,内容均可以自定义,在高级里面,选择邮件接收人

步骤:

  1. Jenkins->配置->邮件通知

  2. 设置相关信息

整个邮件配置分成三部分 1. 发件人测试邮件配置 2. 发件人正式邮件配置 3. 收件人配置 3.10.1 发件人测试邮件配置 发件人后期会输入发件人的邮箱和密码,此时输入的密码并不是邮箱的密码而是需要单独进行配置。 以 163 邮箱为例

  1. 点击设置,选择 POP3/SMTP/IMAP

  2. 点击左侧 客户端授权密码,点击开启,输入收到的手机短信

  3. 设置 客户端授权密码,点击确定即可

    1. 点击 系统管理

    2. 点击 系统设置

    3. 找到 Jenkins Location

    4. 输入 系统管理员邮件地址 为发件人邮箱

    5. 找到 邮件通知

      1. 输入 SMTP服务器:例 smtp.163.com

      2. 输入 用户默认邮件后缀:例如 @163.com

      3. 点击 高级

      4. 输入 用户名 为发件人邮箱

        1. 输入 密码 为客户端授权密码

        2. 勾选 通过发送测试邮件测试配置

        3. 输入 Test e-mail recipient 为收件联系人

        4. 点击 Test configuration,会提示 Email was successfully sent。并查看收件人邮箱是否收到了邮件

3.10.2 发件人正式邮件配置

  1. 点击 系统管理

  2. 点击 系统设置

  3. 找到 Extended E-mail Notification

  4. 输入 SMTP server:例 smtp.163.com

  5. 输入 Default user E-mail suffix:例如 @163.com

  6. 点击 高级

    1. 勾选 Use SMTP Authentication

    2. 输入 User Name 为发件人邮箱

    3. 输入 Password 为客户端授权密码

    4. 选择 Default Content Type 为 HTML

    5. 将以下 html 代码赋值到 Default Content 中(此项为邮件模板,复制即可)

    复制代码
    <hr/>
    (本邮件是程序自动下发的,请勿回复!)<br/><hr/>
    项目名称:$PROJECT_NAME<br/><hr/>
    构建编号:$BUILD_NUMBER<br/><hr/>
    git版本号:${GIT_REVISION}<br/><hr/>
    构建状态:$BUILD_STATUS<br/><hr/>
    触发原因:${CAUSE}<br/><hr/>
    目录:${ITEM_ROOTDIR}<br/><hr/>
    构建日志地址:<a href=" ">${BUILD_URL}console</a ><br/><hr/>
    构建地址:<a href="$BUILD_URL">$BUILD_URL</a ><br/><hr/>
    报告地址:<a href="${BUILD_URL}allure">${BUILD_URL}allure</a ><br/><hr/>
    失败数:${FAILED_TESTS}<br/><hr/>
    成功数:${FAILED_TESTS}<br/><hr/>
    变更集:${JELLY_SCRIPT,template="html"}<br/><hr/>

    此时无法验证配置是否成功,只能等收件人配置好后,进行测试。

    3.10.3 收件人配置 收件人需要在项目中进行配置,比如,微信项目出了问题肯定是微信的开发人员接收,QQ项目出了问题肯定是QQ的 开发人员接收。

    1. 打开 jenkins 主页,点击进入项目

    2. 点击 配置

    3. 点击 构建后操作,点击 增加构建后操作步骤,点击 Editable Email Notification

    4. 点击 Advanced Settings

    5. 点击 右下角 高级

    6. 输入 Recipient List 为需要收件的联系人,多个联系人用英文逗号隔开

    7. 保存后,回到项目中,点击 立即构建

    8. 结果 收到下图邮件,即为成功。开发人员可以通过报告的连接快速的查看 allure 报告

相关推荐
互联网杂货铺17 小时前
几个常见的Jmeter压测问题
自动化测试·软件测试·测试工具·jmeter·职场和发展·测试用例·压力测试
ggggyyyyy092820 小时前
接口测试-Fidder及jmeter使用
测试工具·jmeter·fiddler·接口测试
明月与玄武20 小时前
Jmeter 分布式压测部署--常见坑以及解决方案
分布式·jmeter
字节程序员21 小时前
使用JUnit进行集成测试
jmeter·junit·单元测试·集成测试·压力测试
hakesashou1 天前
jmeter怎么调用python
开发语言·python·jmeter
我非夏日1 天前
JMeter配置原件-计数器
jmeter
爱学测试的李木子1 天前
性能】JDK和Jmeter的安装与配置
java·开发语言·软件测试·测试工具·jmeter
rkmhr_sef1 天前
二、Jmeter Web压测
前端·jmeter
字节程序员1 天前
Jmeter分布式测试的注意事项和常见问题
软件测试·分布式·jmeter
小张帅三代2 天前
jmeter 接口性能测试 学习笔记
笔记·学习·jmeter