接口测试之基于LoadRunner的一个简单示例

时间:2023-03-08 16:07:22
接口测试之基于LoadRunner的一个简单示例

这几天一直在捣鼓接口测试,以下总结一下:

1、什么是接口测试:接口是指系统模块与模块之间或者系统与系统之间进行交互,一般我们用的多的是HTTP协议的接口、WebService协议的接口、还有RPC(Remote Procedure Call Protocol)的接口。不管是哪种接口,其本质就是发送一个Request,然后服务器响应后返回一个response,然后我们对response进行分析,这就是接口测试。

2、消息接口测试的两种:

  a) Webservice:使用soap协议得到想要的东西(不分POST与Get,只是基于soap协议包装出来的),能处理较复杂的数据类型(XML)。若需要在后台调用一个其他应用的服务,用webserivice的方式;

  b) HTTP:基于http协议,通过POST和GET得到想要的东西,处理数据效率较高。当要调用一个本服务的内容时,使用httpservice的方式。

3、常用的接口测试工具有:

  a) 商业工具:Soapui、LoadRunner

  b) 开源工具:Jmeter、Jsoup、httpclient、Python中的urllib,urllib2库

    c) 插件:Poster、Postman

以上是一些接口测试最基础的理论认知,下面就是具体步骤,为了自己以后能看懂,写的尽可能的详细了(自从进了IT,我发现我的记性貌似越来越差了,╮(╯▽╰)╭)

1、File—New…—New Virtual User中选择Web(HTTP/HTML)协议

接口测试之基于LoadRunner的一个简单示例

2、首先写个函数,代码如下

接口测试之基于LoadRunner的一个简单示例

接口测试之基于LoadRunner的一个简单示例

3、在设置中把日志打开,运行一下(可以打开View—Test Results…查看运行的图形化结果,验证一下自己的函数写对没),看是否有报错

——上述过程就是一个发请求的过程,现在的问题是我怎么知道我请求返回的结果是对的?这时候就要获取服务器的响应,然后加个断言来判断。

4、获取响应(即请求返回的结果),写个关联函数获取

接口测试之基于LoadRunner的一个简单示例

运行一波,查看结果,日志中多了一栏蓝色的东西(没开日志是看不到的)

接口测试之基于LoadRunner的一个简单示例

PS:页面默认的编码是GB2312,如果是乱码,去设置那里改一下编码格式,方法自行百度。

——此处假设要验证的是“紫川”,以《紫川》为例,我在文本文件中,找到(Ctrl+F查询快捷键)了这个——d.set('key_word', '紫川');

接口测试之基于LoadRunner的一个简单示例

接口测试之基于LoadRunner的一个简单示例

接下来就是写断言部分,这个需要一点C语言基础

接口测试之基于LoadRunner的一个简单示例

再次运行,就能在下面的日志中看到断言的结果了。

接口测试之基于LoadRunner的一个简单示例

以上是基于http协议的,关于Webservice的大致相同,首先选择协议为Web Services,然后导入一个MSDL文件,后面的就大致相同了。

完整代码:

Action()
{

  web_reg_save_param("Response",        //关联函数

  "LB=d.set('key_word', '",
  "RB=');",
  "Ord=1",
  "Search=NoResource",
  LAST);

  web_url("Request","URL=http://yuedu.baidu.com/search?word=%D7%CF%B4%A8&pbook=0",LAST );   //请求

  if(strcmp(lr_eval_string("{Response}"),"紫川")==0)     //断言部分
  lr_output_message("断言成功");
  else
  lr_output_message("断言失败");

  return 0;
}

__努力可能比较累,但是心安....