搭建windows远程节点_jmeter自动化测试环境(接口测试)

WINDOWS10系统下
环境
172.16.0.115虚拟机windows系统作为远程节点。
jenkins安装在172.16.0.119:8088虚拟机中。
一、安装配置Java环境
 
windows10中安装java
JAVA_HOME:安装地址
path:
%Java_Home%\bin
%Java_Home%\jre\bin
 
二、安装jmeter
可通过直接运行ApacheJmeter启动jmeter
此安装的jmeter3.4.0版本。
 
三、.Jenkins配置(远程连接windows10)
参考:
 
配置jenkins(linux系统下)作为master远程构建执行windows系统slave测试。
实现安装在Linux的Jenkins可以执行Windows下的selenium test case
1.配置Jenkins的Windows节点
1.1 点击左侧面板中:
系统管理->管理节点
1.2 点击左侧面板:新建节点
1.3 输入节点名称,选择Dumb Slave(现在叫Permanent Agent),点击OK
1.4 输入相关配置,点击save(需提前在windows上创建一个远程的Jenkins工作目录,如下图:c:\jenkins_jmeter)
# of executors:同时可运行的job数量,默认为1
远程工作目录:目标Windows的工作目录
标签:用来指定job以什么方式来进行构建
用法:选择“只允许运行绑定到这台机器的job”
启动方法:选择“Launch slave agents via Java Web Start”,Windows机器推荐选择该方法
共有四种方式连接,其中web start 针对windows较稳定。其中“let jenkins control this windows slave as windows service”至最稳定的一种,但是配置相对复杂,是直接以使用windows用户账号的形式登录windows控制,允许windows只能登一个账号,所以后期再研究这种方式。
* 其他可随意或默认
1.5 save成功后出现以下记录
以你创建的名字显示的,未连接的节点机器。若取名“windows demo”则如下图
 
1.6 配置Windows机器
在目标Windows目录中创建上述的远程工作目录:C:\jenkins_jmeter(此工作目录,为节点默认工作目录,后面可在工程任务中单独设置工作目录)
点击机器名:Windows_demo,出现如下页面:
将Run from slave command line下的slave.jar下载到远程工作目录下,同时将Java命令复制到txt文件中,保存成bat文件。
双击bat文件,建立Windows与Jenkins之间的联系。
* 可将open_connecte.bat拖至win->all programs->startup,开机自启动
在管理节点中可看到连接信息:
注意事项:1.使用 Launch slave agents via Java Web Start的方式连接windows,要求windows 中安装java 版本至少8以上。(日志中报错只会提示无法连接)
              2     Master Jenkins服务器端的配置细节                         
如果上面的窗口中显示Connected,可是一会有出现了Terminated的状态,那么很可能是因为你的jenkins配置权限的时候没有给匿名用户启动slave的权限: http://stackoverflow.com/questions/14277512/problems-launching-the-slave-agent-via-java-web-start-on-jenkins
Two solutions seem to be coming up:
Download the JNLP file (via browser, wget, curl, whatever) then run locally - may require extra parameters.
Go to Manage Jenkins -> Configure Global Security, and under Project-based Matrix Authorization Strategy, enable “connect” in the “slave” section, for user “Anonymous”. This would leave you open to attack where someone emulates a slave (but in my case, on a private work network - that's not an issue.)
具体操作是进入jenkins主界面,然后进入Manage Jenkins -> Configure Global Security ,勾选其中的anonymous用户的slave部分的权限。如下:
 
连接成功撒花✿✿ヽ(°▽°)ノ✿。
 
四、安装配置ant
在windows远程节点115上安装ant
java版本1.8,和ant版本1.8匹配。并下载ant1.8进行安装。
环境变量配置:
ANT_HOME:安装文件路径
Path:%ANT_HOME%\bin
ClassPath: %ANT_HOME%\lib
安装完成。
 
五、jenkins配置任务(runJmeter工作)
1.创建项目任务:命名“RunJmeter_win10_115”
2.配置工程
2-1.勾选Restrict where this project can be run,限制项目运行节点 (确定工程运行的节点,也就是我们的115windows虚拟机)
2-2.勾选“使用自定义的工作空间”,并输入节点windows上的项目工作根目录。(输入根目录后,接下来的设计目录路径的地方都是以此根目录开始)
2-3.在构建中,选择“invoke ant”借助ant执行构建项目,填写构建xml文档,后面将如何编写build.xml。(此时填写绝对路径、或相对路径都行,相对路径既相对工作空间根目录设置)
2-4构建后操作中,“增加构建后操作步骤”下拉选择“Publish HTML reports”。
 
2-5在publish Html reports中配置,其中JmeterTestReports.html文件,为构建后产生的报告文件,需要在build.xml中去命名,名称需一致。
2-6构建后操作,再增加“Publish Performance test result report",并进行配置。填写Jmeter生成的Jtl结果文件路径和文件名称。此jtl文件名称依旧会在build.xml文件中命名。后面会讲到。ps.若不想写死文件名称,可用“*.jtl”代替,表述读取当前文件夹下所有jtl格式的文件,弊端是若没有清理以前的jtl文件,展示出其他的结果。
2-7增加构建后操作,“E-mail Notification”简单的发信,构建失败即发送邮件。(ps.无法判断构建成功,但jmeter中执行失败的情况,无法发信,后面将增加工程任务,专门判断Jmeter结果中如果有failed,则发信提醒。)如何配置jenkins发信邮箱,请百度。
 
六、在windows远程节点上部署文件和构建ant与jmeter文件目录
6-1.windows10(172.16.0.115)c盘下目录路径如下图。
其中,jenkins_jmeter文件夹为连接jenkins单独设置的节点工作空间。
ant和jmeter原本可以不用在AutoTestJmeter_Jenkins文件夹下,只是为了方便管理和维护,在Build.xml文件中会写到jmeter的路径,因此统一放到此目录下。
按照如下图结构,去创建文件夹,名字及大小写一致,可不用更改build.xml。若更改,则xml跟随更改。
 
6-2.配置编写build.xml
build.xml分别有详细的复杂,和简单部分编写的简单版。接下来介绍简单的
具体详细的都在文件中有备注,此处不多说了 。
七、在Jenkins上创建后续发信任务。(构建成功,但jmeter执行失败,发送执行失败的报错信息)
7-1创建新项目任务,取名“After115SendEmails”,或者自己随便取。
勾选Restrict where this project can be run ,并输入windows系统节点。
勾选“使用自定义的工作空间”并输入windows定义的工作根目录。
此处配置与配置主要Jmeter项目任务相同。
7-2 构建触发器
勾选“Bulid after other project are built”,并输入上一执行Jmeter项目的名称。
7-3 增加构建步骤
下拉选择“Execute Windows batch command”,
7-3-1 使用cmd命令进行执行读html报告中,是否有100.00%字符判断接口测试是成功。
cd Reports
cd ReportsHtml
setlocal enabledelayedexpansion
call findstr "100.00%%"  JmeterTestReports.html
::判断是否查找到false,成功找到返回0,没有找到返回1。没有找到exit退出系统,并发送邮件。
if %errorlevel% == 1 exit
 
7-3-2 将后面的发信触发条件“ Triggers ”更改为success,使用如下判断false是否存在,确定是否发送邮件。(目的是,当一个jmx文件中存在多个接口测试,则需要判断false,而不是100%)
cd Reports
cd ReportsHtml
setlocal enabledelayedexpansion
call findstr "false"  JmeterTestReports.html
::判断是否查找到false,成功找到返回0,没有找到返回1。找到返回0,exit退出系统,并发送邮件。后边触发条件是构建成功则发送邮箱。
if %errorlevel% == 0 exit
 
 
7-4 增加构建后操作
下拉选择“Editable Email Notification”,进行发信设置。
按照如截图方式进行,设置。
其中,部分Jenkins自带变量,可进行发信内容选择。
“Content Type”:下拉选择“HTML”,内容包含HTML文件,可直接展示HMTL内容。
邮件主题标题内容输入:$DEFAULT_SUBJECT:RunJmeter通知:接口测试脚本报错-Build # $BUILD_NUMBER-$BUILD_STATUS!
在“Default content ”默认内容中输入下如下,可发送包含Jmeter的结果html文件。其path路径需要跟随自己的进行更改。
$DEFAULT_CONTENT
<hr/>
(本邮件是程序自动下发的,请勿回复)<br/><hr/>
项目名称:RunJmeter <br/><hr/>
${FILE,path="Reports/ReportsHtml/JmeterTestReports.html"}
 
PS.注意触发条件。如下图。其他的东西还可以多看看。
至此文档结束。

猜你喜欢

转载自www.cnblogs.com/monobio/p/10789075.html