SoapUI+excel接口自动化测试简述

1.错误说明:

1)报错:org.apache.http.conn.HttpHostConnectException: Connection to http://127.0.0.1 refused

解决方案:重启soapui pro应用

问题原因2:将带来服务器关掉,proxy setting=none

2)获取不到参数值

解决方案:将参数打印出来

 

2.soapUI工具的使用(举例说明)

2.1安装

    安装这里就不介绍了,我用的是soapUI pro,相对于soapUI功能更抢到,大家也可以接触下soapUI+Groovy+excel来做接口自动化,但是我为了更简单的完成任务,选择了soapUI pro(能简单就简单,没必要真要去敲代码才证明你多牛逼)

2.2使用

1)New Workspace -->  New REST Project,这里就不截图演示了,练习的时候可以不新建workspace,但是在实际中最好还是新建空间,这样比较好管理。因为我是做HTTP接口所以选择了REST,至于REST与SOAP有什么区别可以查看前面的博文,还不清楚则可以百度。

2)新建REST Project,输入接口全路径,则会自动生成请求,添加请求的参数

 

 

大图:

3)New Testsuite测试单点登录,单点登录下面可以包括多个testcase

 

4)New Testcase测试用例,测试用例是核心步骤

5)选中Test Steps,新建测试步骤,选择Add steps  --> DataSource,第一步先把测试用例设计好,然后添加到数据源,数据源主要就是把excel写好的测试用例导入

 

 

 

大图:

 

6)选中Test Steps,新建测试步骤,选择Add steps  --> REST Test Request,第二步是发送请求,把数据源的数据引入到这步中发送请求。如下图,选择from标签,把请求值对应数据源中引入的数据

 

 

7)选中Test Steps,新建测试步骤,选择Add steps  --> Groovy Script,第三步是把预期结果与实际结果对比然后输出结果

 

 

大图:

 

源码:

def result = context.expand('${UserExcel#exceptResult}')

log.info result

def response1 = context.expand('${step1#Response#$.token_type}')

def response2 = context.expand('${step1#Response#$.access_token}')

def actualResult = response1+response2

log.info actualResult

def failedResponse2 = context.expand('${step1#Response#$.code}')

log.info response2

def a1 = context.expand('${UserExcel#username}')

def a2 = context.expand('${UserExcel#password}')

log.info a1

log.info a2

if( response1 != null & response1 != "" & response1 != "null"){

return "登录成功"

}else{

return "登录失败"

}

8)选中Test Steps,新建测试步骤,选择Add steps  --> DataSink,第四步是把实际结果,以及是否通过的结果写入到excel中

 

大图:

 

(9)选中Test Steps,新建测试步骤,选择Add steps  --> DataSource Loop,第五步是循环,把整个excel中所有的测试用例执行完成才结束,这一步一定要放在最后,也就是把前面所有流程都执行一遍再循环

 

大图:

 

10)执行,选择Testsuite执行

11)查看执行结果

 

(12)直接请求接口返回值

 

一定要注意的几点:

1、Excel最好要自己创建,因为引用之前的excel可能包含未知的格式,导致结果数据插入错误或者数据读取错误

2、执行用例时,excel不要开启,因为开启时excel被引用,将无法插入数据

3、当遇到无法解决的情况时,重启soapui pro是最好的解决办法

 

UBJ接口测试需注意:

soapui pro中的header中新增Cookie值,Cookie的获取路径可通过Chrome浏览器header中获取到

 

Soap UI请求中添加Cookie时操作如下:

 

 

 

 

posted @ 2016-12-30 13:43  alay_li  阅读(459)  评论(0)    收藏  举报