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时操作如下:


浙公网安备 33010602011771号