永发信息网

soapui中的groovy脚本怎么写

答案:2  悬赏:0  手机版
解决时间 2021-03-20 06:16
  • 提问者网友:最美的风景
  • 2021-03-19 07:01
soapui中的groovy脚本怎么写
最佳答案
  • 五星知识达人网友:神鬼未生
  • 2021-03-19 07:08
下载并安装 SoapUI 的免费版本.
当你第一次运行时,看起来像下面这样:

我创建了一个工作空间存储我的项目,叫做 Automation. 为此,我们要去选择 ‘File’-> ‘New Soap Project’ ,填入项目名称和web服务的.wsdl 文件位置.

请确保你勾选了创建请求 'Create Requests' 和创建测试套件 'Create TestSuite', 然后点击 'OK'.
SoapUI 将会检查web服务,返回你可以在服务上调用的操作/方法. 在我的任务中,只有一个叫做SubmitRequestResponse的操作, 但我还是选择了 'Single TestCase with One Request for Each Operation'.

点击 'OK' 而你将会收到提醒,告知要为Test SuiteMultiple命名.

现在当SoapUI已经设置好了项目, 展开整个项目结构如下:

如果你在 Request 1 上单击, 你可以看到一个基础的请求格式.

LeoXu
翻译于 5个月前
0人顶
顶 翻译的不错哦!

我们需要在继续进行之前确保调用从web服务上获得了一个响应,所以我们添加一个soap请求。在我的情况里,web服务需要一个客户号跟着一个地点位置标签跟着一个或多个SalesOrders。所以我在 body 中用我的soap请求替换<part>?</part>标签。

点击绿色箭头(左上方)然后你将获得一个XML响应。

如果你有响应,那么你就在你需要在的地方。
全部回答
  • 1楼网友:慢性怪人
  • 2021-03-19 07:42
1.获取请求中参数的值: 设下图是我们已经建好的一步test step,它是一个rest test request,请求的参数有client_id和password两个,这一步step我们之前已经给它取名为user了 假设我们现在需要获取到client_id的值(也就是testor),那么我们可以新建一个groovy script,并且写入以下代码: testrunner.testcase.teststeps['user'].getpropertyvalue("client_id") 在soapui中可以把它输出,结果就是我们想要的testor 2.获取响应结果的值 接上文,假设user这个request的返回结果是以下的json: { "code": 200, "message": "", "result": { "token": "f7052eee86fa6087cc0d1b2bd8ba8040" } } 那么我们想要获取到token的值,应该怎么做呢? 首先,要通过soapui提供的groovyutils获取返回的xml消息的操作xmlholder import com.eviware.soapui.support.groovyutils def gu = new groovyutils(context) def field = gu.getxmlholder("user#responseasxml") 接着,在xmlholder中使用xpath获取返回字段内容,可以自己写,如下: def b= field.getnodevalue("//*:result/*:token") 如果觉得太麻烦老是写错path,而且你也不嫌代码难看,可以去assertion里选择xpath match,直接找到这个节点,用系统提供给你的值写到groovy中 即可以:def c=field.getnodevalue("//ns1:response[1]/ns1:result[1]/ns1:token[1]") 到soapui中查看输出结果,可以看到上文的b和c两个变量都能获取到正确的token值
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯