soapui+groovy进行接口自动化测试浅谈

来源:互联网 发布:手机怎样在淘宝买东西 编辑:程序博客网 时间:2024/06/08 03:08
使用soapui编写groovy脚本内容思路
soapui在线API:http://www.soapui.org/apidocs/pro/
额,soapui的是官方的
Java在线API:http://www.yq1012.com/api/
额,这个java的。。。英文的有些看不懂,找了个中文的(非官方)
前言:如果需要import文件,个人认为如果前期能遇见,就提前写进去,如果前期不确定的 ,可以用到的时候再import
1、导入需要用到的方法和脚本:例如MD5方法、groovy.json.JsonSlurper方法
    例如:import groovy.json.JsonSlurper      //导入groovy.json包中的JsonSlurper方法
2、定义项目对象project
    def project = testRunner.testCase.getTestSuite().getProject(); //项目对象
3、定义测试集对象testsuite
     def testsuite = testRunner.testCase.getTestSuite()            //测试集对象
4、定义测试用例对象
     def testcase = testRunner.testCase                            //测试用例对象
5、定义测试步骤对象
     def teststep = testRunner.testCase.testSteps['步骤名称']
5、找到请求需要的参数
    这里需要用到groovy的具体执行语句,从返回的结果中抓取信息,然后找到想要的参数,再对参数进行整理,方便后面赋值
    获取参数值的方法为getPropertyValue("目标参数")
6、给接口参数进行赋值,使用:testRunner.路径.setPropertyValue(‘目标参数’,值)
     其中的路径详解:确定目标参数是什么级别的参数。参数级别分为:project级、testsuite级、testcase级
     1、如果是project级别,则赋值如下:testRunner.testcase.testsuite.testproject.setPropertyValue(‘目标参数’,值)
     2、如果是testsuite级别,则赋值如下:testRunner.testcase.testsuite.setPropertyValue(‘目标参数’,值)
     3、如果是testcase级别,则赋值如下:testcase.setPropertyValue(‘目标参数’,值)
7、把已经得到的信息,进行筛选,找到需要用到的参数写到日志文件中
      写入日志文件方法为log.info 参数名
      写入成功后,运行脚本,会在log output窗口中显示
8、extend方法,可以继承soapui中context(表格)或者Context中的某个字段
    用法如下:
def logic1 = context.extend('${#testsuite#logic}')
if(logic.contains('cancel')) {
  testRunner.gotoStepByName("setOrderCancel")
 }
    用法释义:用logic1继承testsuite中logic,调用logic的contains方法进行判断,然后继续执行
9、contains 方法(java_API释义):
当且仅当此字符串包含指定的 char值序列时,返回 true

清明节3天时间,其中纯正学习的时间也就22小时邹游,总共看了一个接口的16个groovy脚本,也就研究出了这点东西,汗颜!。。。
1 0
原创粉丝点击