接口测试的两种方法
2017-05-14 20:52
471 查看
接口测试的两种方法
方法一、用LoadRunner实现接口测试
大家都知道LoadRunner是一种性能测试工具,但它也可以用在我们做接口测试的时候。开发人员开发出来的接口,提供给测试人员详细的接口使用说明书,该说明书最基本的要求如下:
接口测试地址:/SNS/Publish
请求报文参数说明:
参数名称 | 参数描述 | 字符类型 | 字符值 |
SNSID | 社区ID | String | 6 |
UserID | 用户ID | String | 10 |
CommentsTypeID | 评论类型ID | String | 2 |
CommentsID | 评论ID | String | 10 |
AuthorID | 作者ID | String | 10 |
CommentsContent | 评论内容 | String | 50 |
<?xml version="1.0" encoding="ISO-8859-1"?> < Publish > <SNSID>123</SNSID> <UserID>456</ UserID > <CommentsTypeID>2</ CommentsTypeID > <CommentsID>123</CommentsID> <AuthorID>456</AuthorID> <CommentsContent>Don't forget the meeting!</CommentsContent > </Publish> |
参数名称 | 参数描述 | 字符类型 | 字符值 |
UserID | 用户ID | String | 10 |
CommentsTypeID | 评论类型ID | String | 2 |
CommentsID | 评论ID | String | 10 |
CommentsContent | 评论内容 | String | 50 |
StatusCode | 返回值 | Int | 0代表pass,非0代表fail |
StatusText | 返回信息描述 | String | |
<?xml version="1.0" encoding="ISO-8859-1"?> < Publish > <UserID>456</ UserID > <CommentsTypeID>2</ CommentsTypeID > <CommentsID>123</CommentsID> <CommentsContent>Don't forget the meeting!</CommentsContent > <StatusCode>0</StatusCode> <StatusText>发送成功一条评论</StatusText> </Publish> |
LoadRunner中涉及到向服务器发送请求的API方法包括:web_url(),web_submit_form(),web_submit_data(),web_custom_request()。下面介绍两种我常用的方法:
方法一:使用web_submit_data()
web_submit_data("insert", "Action=http://116.211.23.123/SNS/Publish.htm ", "Method=POST", "Referer=http://116.211.23.123/SNS/Publish.htm ", "Mode=HTML", ITEMDATA, "Name= SNSID ","Value=6601",ENDITEM, "Name= UserID ","Value=123",ENDITEM, "Name= CommentsTypeID ","Value=1",ENDITEM, "Name= CommentsID ","Value=456",ENDITEM, "Name= AuthorID","Value=789",ENDITEM, "Name= CommentsContent ","Value=Just for testing",ENDITEM, LAST); |
char str[1000]; strcpy(str,"SNSID=7999&UserID=1&CommentsTypeID=1&CommentsID=1&AuthorID=1&CommentsContent=1"); web_custom_request("Publish", "Url= http://116.211.23.123/SNS/Publish.htm", "Method=POST", "Referer=http://116.211.23.123/SNS/Publish.htm ", "Mode=HTTP", str, LAST); |
方法一适合一些xml结构的根元素下的子元素同处于根元素下面,且子元素数目较少的情况下,如果xml结构比较复杂,比如说根元素下面有多级子元素,或者xml树结构分叉较多的时候,我们可以先把xml拼接成一个字符串然后通过web_custom_request()向服务器发送请求。
我们在做接口功能测试的时候会很注意接口的应答报文的信息,这时候我们可以通过LoadRunner的日志信息查看或者可以通过web_reg_find()或者web_find()这样的API函数来统计接口的运行结果,推荐使用web_reg_find(),web_reg_find()和web_find()区别请大家百度一下,详细信息太多,在这里不便叙述。
因为web_reg_find()是注册型函数,所以应该放在web_submit_data()或者web_custom_request()的前面。
如:
web_reg_find("Text=<StatusCode>0</StatusCode>",//应答报文里边的信息 "SaveCount= StatusCodeCount", //统计查询字段的信息,如果找到值为1,如果未找到值为0 LAST); |
// Check result if (atoi(lr_eval_string("{StatusCodeCount }")) > 0){ //判断如果Welcome字符串出现次//数大于0 lr_output_message("Send out the comment successfully."); }//在日志中输出Send out //the comment successfully else{ //如果出现次数小于等于 lr_error_message("Send out the comment unsuccessfully."); //在日志中输出Send out //the comment successfully return(0); } |
方法二、通过Java + Fitnesse实现接口功能测试
什么是Fitnesse?
FitNesse是一套软件开发协作工具 FitNesse是帮助大家加强软件开发过程中的协作的工具。能够让客户、测试人员和开发人员了解软件要做成什么样,帮助建议软件最终是否达到了设计初衷。
FitNesse是一套软件测试工具 从另外一个角度看,FitNesse是一个轻量级的、开源的框架,能够帮助开发团队方便的定义验收测试(Acceptance Tests),通过在web页面上简单的输出和预计输出的表格就可实现,并且可以运行这些测试以确定是否通过。
FitNesse是wiki可以很方便的创建和编辑页面 FitNesse是一个web服务器不用过多的安装配置,很方便使用。
我习惯使用Eclipse集成开发工具写测试代码,用fitnesse准备接口的测试数据,由此实现接口的测试数据和测试程序的分离。
关于Fitnesse的使用大家可以参考官方网址。Fitnesse的四种常见表格是:
ColumnFixture,ActionFixture,Decision Table,ScriptTable。在工作中ColumnFixture用的最多。
下面的程序使用的是ColumnFixture表格。
// Java fixtures package info.fitnesse.fixturegallery; import fit.ColumnFixture; public class PublishTest extends ColumnFixture { //通过url向服务器发送请求的程序段省略 public StringSNSID; //对应列名|first part| public StringUserID; //对应列名|second part| private StringCommentsTypeID; private StringAuthorID; private StringCommentsContent; private StringUserID; //对参数的set和get方法省略 } ColumnFixture表格里边的测试数据是: //省略设置表格的存储位置信息 |
相关文章推荐
- Loadrunner 接口测试的两种方法
- Loadrunner 接口测试的两种方法
- 接口测试的两种方法
- 接口测试的两种方法
- 接口测试的两种方法
- 接口测试的两种方法
- 接口测试的两种方法
- Loadrunner 接口测试的两种方法
- Loadrunner 接口测试的两种方法
- 接口测试的两种方法
- 接口测试的两种方法
- Loadrunner 接口测试的两种方法
- 接口测试的两种方法
- 接口测试的两种方法
- 从子窗口传值给父窗口的两种方法(接口和委托)
- Phonegap通过JS访问本地接口的两种方法
- 提供一个在测试环境中,监控应用服务器的外部接口调用的方法(高峰)
- 黑马程序员_两种遍历集合的方法Iterator接口和foreach循环
- 接口测试从零开始系列1_如何针对接口方法设计测试用例
- LoadRunner中对接口进行性能测试的常用方法