一、接口架构
- 基于Soap架构,基于xml规范,基于webserice协议,特点:地址接口?wsd结尾。比较老,不是流行框架。
- 基于RPC架构,基于dubbo协议/thrft协议/SpringCloud微服务。数据量少,高并发适用;
- 基于Restful架构,基于接送规范,基于http协议。市面上最多适用的这种规则。
重点放在第三种架构上,Restful规则:接口地址:http:127.0.0.1/user,get,post,put,delete。
json数据格式:只有两种数量类型:键值对:{key:value},数组{arry1:arry2}
二、接口测试工具及框架
1、jmeter+ant+git+jenkins,重点适用这个框架进行测试;
2、postman+Newman+git+jenkins
三、使用jmeter+ant+git+jenkins实现持续集成
- 下载Ant并解压,解压后吧Ant的bin目录设置到path环境变量中。下载地址官网:Binary Distributions,下载java8版本的zip包;
- 需要一个构建文件:build.xml文件,把这个构建文件和脚本文件放在一起。关键是则会个构建文件需要有那些组成。在网上找的代码,build.xml的代码块,看了一下有些地方应该需要修改。
-
<?xml version="1.0" encoding="UTF-8"?>
-
<project name="ant-jmeter-test" default="run">
-
<tstamp>
-
<format property="time" pattern="yyyyMMddhhmm" />
-
</tstamp>
-
<!--本地的jmeter安装路径-->
-
<property name="jmeter.home" value="D:\apache-jmeter-5.5\apache-jmeter-5.5" />
-
<property name="report.title" value="SoaTestReport"/>
-
<!--生成jtl报告的路径-->
-
<property name="jmeter.result.jtl.dir" value="D:\apache-jmeter-5.5\ants\jtl" />
-
<!--生成html报告的路径-->
-
<property name="jmeter.result.html.dir" value="D:\apache-jmeter-5.5\ants\html" />
-
<!--生成报告的前缀-->
-
<property name="ReportName" value="TestReport" />
-
<property name="jmeter.result.jtlName" value="${jmeter.result.jtl.dir}/${ReportName}${time}.jtl" />
-
<property name="jmeter.result.htmlName" value="${jmeter.result.html.dir}/${ReportName}${time}.html" />
-
<target name="run">
-
<antcall target="test" />
-
<antcall target="report" />
-
</target>
-
<target name="test">
-
<taskdef name="jmeter" classname="org.programmerplanet.ant.taskdefs.jmeter.JMeterTask" />
-
<jmeter jmeterhome="${jmeter.home}" resultlog="${jmeter.result.jtlName}">
-
<!--声明要运行的jmeter脚本的路径,*.jmx指所有后缀名为.jmx的jmeter脚本-->
-
<testplans dir="D:\apache-jmeter-5.5\ants" includes="*.jmx" />
-
<property name="jmeter.save.saveservice.output_format" value="xml"/>
-
</jmeter>
-
</target>
-
<path id="xslt.classpath">
-
<fileset dir="${jmeter.home}/lib" includes="xalan*.jar"/>
-
<fileset dir="${jmeter.home}/lib" includes="serializer*.jar"/>
-
</path>
-
<target name="report">
-
<tstamp>
-
<format property="report.datestamp" pattern="yyyy/MM/dd HH:mm" /></tstamp>
-
<xslt
-
classpathref="xslt.classpath"
-
force="true"
-
in="${jmeter.result.jtlName}"
-
out="${jmeter.result.htmlName}"
-
style="${jmeter.home}/extras/jmeter-results-detail-report_21.xsl">
-
<param name="dateReport" expression="${report.datestamp}"/>
-
<param name="titleReport" expression="${report.title}"/>
-
<param name="dateReport" expression="${report.datestamp}"/>
-
</xslt>
-
<!--上面生成的报告需要一些相关的图片,但是不会自动拷贝,所以需要手动拷贝过去,以便显示-->
-
<copy todir="${jmeter.result.html.dir}">
-
<fileset dir="${jmeter.home}/extras">
-
<include name="collapse.png" />
-
<include name="expand.png" />
-
</fileset>
-
</copy>
-
</target>
-
</project>
3.需要修改以下配置,才能执行成功,
A、将JMETER安装文件下extras下面的ant-jmeter-1.1.1的jar包复制到ANT安装目录中的lib目录
B、将JMETER安装文件bin下的文件:jmeter.properties中的配置项:#jmeter.save.saveservice.output_format=csv修改为jmeter.save.saveservice.output_format=xml;
4.在放置脚本和build.xml文件的文件夹窗口,在顶部的路径输入框,全选后,输入cmd回车,然后输入ant命令就可以执行脚本了。
5.在以上步骤后,没有显示出详情测试报告,不知道是不是么有修改完整配置文件导致的,搜索了一下,修改了以下配置,修改后再次执行,还是不行,需要找其他原因。
-
jmeter.save.saveservice.data_type=true
-
jmeter.save.saveservice.label=true
-
jmeter.save.saveservice.response_code=true
-
# response_data is not currently supported for CSV output
-
jmeter.save.saveservice.response_data=true
-
# Save ResponseData for failed samples
-
jmeter.save.saveservice.response_data.on_error=true
-
jmeter.save.saveservice.response_message=true
-
jmeter.save.saveservice.successful=true
-
jmeter.save.saveservice.thread_name=true
-
jmeter.save.saveservice.time=true
-
jmeter.save.saveservice.subresults=true
-
jmeter.save.saveservice.assertions=true
-
jmeter.save.saveservice.latency=true
-
# Only available with HttpClient4
-
jmeter.save.saveservice.connect_time=true
-
jmeter.save.saveservice.samplerData=true
-
jmeter.save.saveservice.responseHeaders=true
-
jmeter.save.saveservice.requestHeaders=true
-
jmeter.save.saveservice.encoding=true
-
jmeter.save.saveservice.bytes=true
-
# Only available with HttpClient4
-
jmeter.save.saveservice.sent_bytes=true
-
jmeter.save.saveservice.url=false
-
jmeter.save.saveservice.filename=true
-
jmeter.save.saveservice.hostname=true
-
jmeter.save.saveservice.thread_counts=true
-
jmeter.save.saveservice.sample_count=true
-
jmeter.save.saveservice.idle_time=true
注意:研究了半天,么有研究出怎么显示ant的详情的报告,总的报告有了,详情的报告始终没有出来,搜索时找到了出行性能及其他相关的报告的方式方法。
1、编写好脚本后,在结果树页面,选择保持一个jtl格式文档,如下图,任意电脑位置都可以。清空结果,然后执行一次脚本。
2、点击菜单栏的工具,弹出如下操作框
-
现在我也找了很多测试的朋友,做了一个分享技术的交流群,共享了很多我们收集的技术文档和视频教程。
-
如果你不想再体验自学时找不到资源,没人解答问题,坚持几天便放弃的感受
-
可以加入我们一起交流。而且还有很多在自动化,性能,安全,测试开发等等方面有一定建树的技术大牛
-
分享他们的经验,还会分享很多直播讲座和技术沙龙
-
可以免费学习!划重点!开源的!!!
-
qq群号:455787643【暗号:csdn11】
- result file :选择我们刚刚指定的jtl文件即可
- user.properties file : 选择 jmeter安装目录下bin文件内 jmeter.properties;
- output directory : 选择报告输出的路径,
- 选择完成后,点击 Generate report即可完成生成,之后进入到指定生成的路径,里面会有一个index.html的文件,点击即可
命令的方式生成测试报告,没有搞成,应该时入口没有找对,提示不是内部命令。
生成报告的命令:jmeter -n -t xxx.jmx -l name.jtl -e -o report
-n:以非GUI形式运行jmeter
-t:jmx脚本路径
-l:运行结束保存路径(.jtl),此文件必须不存在,路径+文件名
-e:在脚本运行结束后生成html报告
-o:用于存放html报告的目录
第一次生成jtl文件后,如果要再次运行输入命令:jmeter -g name.jtl -o report
这里如果jmeter 如果没有配置环境变量,则需要在jmeter 安装的bin目录下执行
更新于2022年12月19日
三、jenkins安装+环境的搭建+配置
1、下载地址:Jenkins download官网下周地址,下载war包(下载长期稳定包,LTS版本,所有系统基本都支持war包),jdk需要1.8以上的版本。
2、找到jenkins.war所在的目录 >> 输入cmd,回车进入cmd命令
3、输入如下命令(这里端口号我设置为8090) >> 等待安装完成,安装时提示:Running with Java 8 from D:\anzhuang\jdk\jre, which is older than the minimum required version (Java 11). Supported Java versions are: [11, 17],去找相关资源时发现了Doker,查了半天资料,需要liunx才能安装这个,windows需要先安装虚拟的liunx系统才能安装,就算了。直径安装Jenkins算了。看来需要重新安装jdk.
在官网找到最新的17的jdk下载重新安装,再次执行命令,就可以安装了
官网地址:Java Downloads | Oracle 中国,下载重新安装就搞定了。
执行代码如下,使用的端口时8090,执行结果如下截图
java -jar jenkins.war --httpPort=8090
安装Jenkins后提示
4、在浏览器中输入:http://localhost:8090/jenkins/,就得到我们的Jenkins操作页面了:
5、这个页面输入密码后,点击继续,页面直接404了
网上查了一下原因这些,没有找到具体原因,找到一个访问其他插件的链接(http://localhost:8002/pluginManager/advanced),却可以访问,这个链接我修改端口为8090,直接访问成功,然后访问首页,结果第一次加载中后,再次点访问就进入到首页了,奇怪,直接输入地址还是不能访问
原来是链接地址多了Jenkins这个地址,去掉就可以出现上面这个页面了。
6、点击“选择插件来安装”>>点击“无”>>点击“安装”跳过插件的安装。
7、创建一个管理员用户 >> 点击"保存并完成"
8、点击"保存并完成",进入实列配置页面
9、点击"开始使用Jenkins"
10、出现如下页面,表示登录成功
Jenkins的配置(暂不处理)
总结:
感谢每一个认真阅读我文章的人!!!
作为一位过来人也是希望大家少走一些弯路,如果你不想再体验一次学习时找不到资料,没人解答问题,坚持几天便放弃的感受的话,在这里我给大家分享一些自动化测试的学习资源,希望能给你前进的路上带来帮助。
软件测试面试文档
我们学习必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有字节大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。
视频文档获取方式:
这份文档和视频资料,对于想从事【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!以上均可以分享,点下方小卡片即可自行领取。