关于http接口自动化测试的信息

网友投稿 317 2023-01-30


本篇文章给大家谈谈http接口自动化测试,以及对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。 今天给各位分享http接口自动化测试的知识,其中也会对进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

本文目录一览:

HTTP接口自动化测试

GET:获取指定资源,在URL可以携带参数

HEAD:获取指定资源,区别在于,HEAD方法的相应报文没有消息体

POST:创建或修改指定资源,比如常见的提交表单或上传文件等

PUT:也是创建或修改指定资源,区别在于PUT方法时幂等的,就是说调用一次与调用多次的效果一致

DELETE:请求服务器删除指定的资源

在客户端发起HTTP请求后服务器会进行响应,不同的响应码对应不同的场景,响应码由3位数字组成,第一个数字代表当前响应的类型

1XX:提示信息,服务器的临时响应,此时客户端应继续发起请求;

2XX:成功,请求已被服务器成功处理,比如200OK;

3XX:重定向,需要客户端进行后续操作才能达成目的;

4XX:客户端错误,客户端请求发生错误;

5XX:服务器错误,服务器处理正确请求时发生错误,比如500 Internal Server Error。

参数的测试点有:

如何通过http接口实现自动化测试框架

一、测试需求描述
对服务后台一系列的http接口功能测试。
输入:根据接口描述构造不同的参数输入值
输出:XML文件
eg: xxx.com/xxx_product/test/content_book_list.jsp?listid=1

二、实现方法
1、选用Python脚本来驱动测试
2、采用Excel表格管理测试数据,包括用例的管理、测试数据录入、测试结果显示等等,这个需要封装一个Excel的类即可。
3、调用http接口采用Python封装好的API即可
4、测试需要的http组装字符转处理即可
5、设置2个检查点,XML文件中的返回值字段(通过解析XML得到);XML文件的正确性(文件对比)
6、首次执行测试采用半自动化的方式,即人工检查输出的XML文件是否正确,一旦正确将封存XML文件,为后续回归测试的预期结果,如果发现错误手工修正为预期文件。(注意不是每次测试都人工检查该文件,只首次测试的时候才检查)

接口自动化测试流程是什么?

了解了接口测试是什么之后http接口自动化测试,怎么做接口测试呢?接口测试http接口自动化测试的流程其实和功能测试流程类似http接口自动化测试:接口测试计划-接口测试用例-接口测试执行-接口测试报告。测试用例设计http接口自动化测试的依赖对象主要是需求说明书和接口文档。
接口测试因其不是针对普通用户,而是针对http接口自动化测试的另外一个系统组件,所以不能直接测试,需要使用工具测试,比如服务端http接口测试,常用的工具有jmeter、postman、httpclient等。用工具测试,所以目标就是准备要测试数据测试脚本后直接执行即可, 在进行测试执行编写时,有如下的原则:
1.不同的接口参数覆盖不同的业务场景;
2.在后台构造合适的数据来满足接口的测试用例;
3.根据接口的返回值,断言其是否返回期望结果,并查看数据库验证;
4.测试用例涉及多个步骤的,应对涉及的步骤都验证;
5.删除测试过程中产生的结果,确保每个用例执行前都是一个清洁的环境

昆明java培训学校告诉你接口自动化测试文档架构分析?

自动化测试是互联网软件开发行业发展之后http接口自动化测试的新的产物http接口自动化测试,而今天http接口自动化测试我们就一起来了解一下,关于接口的自动化测试都需要包含哪些内容以及接口测试的文档架构。



接口都有那些部分组成呢?


接口文档应该包含以下内容http接口自动化测试


1、接口说明


2、调用url


3、请求方法(get\post)


4、请求参数、参数类型、请求参数说明


5、返回参数说明


如果是测http接口,你需要至少需要调用一个发送http请求的库,例如httpclient来发送不同类型的请求给到待测的接口,如GET,POST,PUT,DELETE,带上你的请求头header和请求体body,然后通过xml库来解析感兴趣的返回值的字段,与期望值做比较,从而判断用例成功还是失败。


接口自动化整体思路


说简单的接口自动化大致三个步骤http接口自动化测试:a-发送请求;b-解析结果;c-验证结果


为了方便起见,你应该自定义三个和业务相关的测试类:


1.一个用来封装httpclient,用来发送请求的类,云南java课程http://www.kmbdqn.cn/建议用于发送各类测试请求。


2.一个解析结果xml的类,用来获取感兴趣的结果值。


3.一个用于比较测试结果和期望值的类,用于验证。


当然这是简单的一个http借口测试框架,如果你愿意还可以做的更强大,比如自动生成测试数据,生成自定义格式的测试报告,自动发送测试报告,检查服务端数据内容是否正确等等。


从0到1,用Jmeter搭建HTTP接口自动化引擎 1.0 版本

如图:

附件内容包括

(1)测试用例执行摘要:

(2)测试用例详细信息:

如果http请求是post

获取post请求数据

断言内容解析:

int errcount = Integer.parseInt(vars.get("errcount").trim());

int allcount = Integer.parseInt(vars.get("respcount").trim());

int equalscount=0;

int equalsokcount=0;

if("${HttpStatus}"!=""){

// log.info("==========================${HttpStatus}");

if(SampleResult.getResponseCode().equals("${HttpStatus}".trim())) {

equalscount++;

equalsokcount++;

//  log.info("================equalscount: " + equalscount);

//  log.info("================equalsokcount: " + equalsokcount);

}else {

String code = SampleResult.getResponseCode();

vars.put("respcode",code);

vars.put("AssertionNoOk","断言失败内容为:HttpStatus,实际请求返回的HttpStatus为: "+code+",断言内容的HttpStatus为: "+"${HttpStatus}");

equalscount++;

//  log.info("================ERRORequalscount: " + equalscount);

//  log.info("================ERRORequalsokcount: " + equalsokcount);

//  log.info("====================ErrorHttpStatus is: " + code);

}

}

if("${ResponseMessage}"!=""){

if(SampleResult.getResponseMessage().equalsIgnoreCase("${ResponseMessage}".trim())) {

equalscount++;

equalsokcount++;

}else {

equalscount++;

String msg = SampleResult.getResponseMessage();

vars.put("respmsg",msg);

vars.put("AssertionNoOk","断言失败内容为:ResponseMessage,实际请求返回的ResponseMessage为: "+msg+",断言内容的ResponseMessage为: "+"${ResponseMessage}");

}

}

if("${ResponseData1}"!=""){

if(SampleResult.getResponseDataAsString().contains("${ResponseData1}".trim())) {

equalscount++;

equalsokcount++;

}else {

equalscount++;

String data = SampleResult.getResponseDataAsString();

vars.put("respdata",data);

vars.put("AssertionNoOk","断言失败内容为:ResponseData1,实际请求返回的ResponseData1为: "+data+",断言内容的ResponseData1为: "+"${ResponseData1}");

}

}

//log.info("===================================ResponseData2=" + "${ResponseData2}".trim());

if("${ResponseData2}"!=""){

if(SampleResult.getResponseDataAsString().contains("${ResponseData2}".trim())) {

equalscount++;

equalsokcount++;

}else {

equalscount++;

String data = SampleResult.getResponseDataAsString();

vars.put("respdata",data);

vars.put("AssertionNoOk","断言失败内容为:ResponseData2,实际请求返回的ResponseData2为: "+data+",断言内容的ResponseData2为: "+"${ResponseData2}");

}

}

if("${ResponseData3}"!=""){

if(SampleResult.getResponseDataAsString().contains("${ResponseData3}".trim())) {

equalscount++;

equalsokcount++;

}else {

equalscount++;

String data = SampleResult.getResponseDataAsString();

vars.put("respdata",data);

vars.put("AssertionNoOk","断言失败内容为:ResponseData3,实际请求返回的ResponseData3为: "+data+",\n断言内容的ResponseData3为: "+"${ResponseData3}");

}

}

if(equalscount==equalsokcount) {

SampleResult.setSuccessful(true);

vars.put("sendemail","no");

allcount++;

vars.put("respcount",allcount.toString());

}else {

errcount++;

allcount++;

SampleResult.setSuccessful(false);

vars.put("errcount",errcount.toString());

vars.put("respcount",allcount.toString());

vars.put("sendemail","yes");

}

利用SMTP Sampler发送邮件

邮件内容如下:

至此,Jmeter HTTP接口自动化引擎搭建完毕

还可以利用jenkins定时执行Jmeter引擎,从而实现对线上接口的监控

资料参考:

(1)Jmeter build.xml文件: http://pan.baidu.com/s/1i46tMlR

(2)Jmeter生成报告格式(参考heman贺满博客 http://www.cnblogs.com/puresoul/http://pan.baidu.com/s/1kVssMzl ):

(3)jmeter.properties(修改jmeter生成.jtl文件内容配置): http://pan.baidu.com/s/1cyaNlc

(4)测试用例模版:http://pan.baidu.com/s/1kVegq6j

(5)Jmeter接口自动化引擎内容:http://pan.baidu.com/s/1kVop9n5

Python做软件自动化测试的入门提问

用python做自动化测试http接口自动化测试,主要是接口测试和UI自动化测试。一、接口测试:http协议http接口自动化测试的举例:可以用python自带的urllib\urllib2模拟http接口自动化测试,模拟前端向服务器发送数据,获取返回值后,进行校验和判断来进行接口测试。网上的例子也比较多,这里简单说一下,比如request中data的边界值测试、字符测试、非空为空测试等等,都可以做二、UI自动化测试:html页面(python+selenium)或者一些安卓app(python+appiun)可以用。主要是页面元素的检查、输入等。比如可以写一个脚本,自动登录百度页面,搜索某一个关键字,并且获得此关键字的百度搜索数量。 关于http接口自动化测试和的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。 http接口自动化测试的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于、http接口自动化测试的信息别忘了在本站进行查找喔。

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:共享文件系统开源(文件共享程序)
下一篇:vue2.0实现音乐/视频播放进度条组件
相关文章

 发表评论

暂时没有评论,来抢沙发吧~