Groovy脚本 - 自动请求并保存SOAP UI的响应(Groovy Script - Automatic Request and saving response from SOAP UI)
我是Groovy脚本的新手。
要求从文本文件中读取请求值并将其传递给soap请求xml并保存输出。
问题面临:我无法从步骤1到步骤2读取数据。但是我也在上下文变量中设置值。 请帮助我解决问题,以便我能够自动完成整个过程。
注意:我们只能访问SOAPUI而不是SOAPUI Pro
步骤1:
File file1 = new File("C:\\Users\\Groovy Test\\requests\\orders.txt") List textLine = file1.readLines() log.info textLine context.put('textLine', textLine) log.info textLine
第2步:
<?xml version="1.0" encoding="UTF-8"?> <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"> <soapenv:Header> </soapenv:Header> <soapenv:Body> <OrderId>${context.get('textLine' )}</OrderId> </soapenv:Body> </soapenv:Envelope>
第3步:
def fileList = context.get('textLine') def fileName = fileList.pop() def newname = fileName[0..-5] def response = context.expand( '${Step2#Response}' ) def f = new File("C:\\Users\\Groovy Test\\responses\\${fileName}_Response.xml") f.write(response, "UTF-8") if(fileList.size() >0) { testRunner.gotoStepByName("Step2") }
I am new to Groovy scripting.
Requirement To read the request values from a text file and pass it to the soap request xml and save the output.
Issue facing: I am not able to read the data from step 1 to step 2. However I am setting the values in context variable as well. Kindly help me to fix the issue so that I can able to automate the entire process.
Note: We have only access to SOAPUI not SOAPUI Pro
Step 1:
File file1 = new File("C:\\Users\\Groovy Test\\requests\\orders.txt") List textLine = file1.readLines() log.info textLine context.put('textLine', textLine) log.info textLine
Step 2:
<?xml version="1.0" encoding="UTF-8"?> <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"> <soapenv:Header> </soapenv:Header> <soapenv:Body> <OrderId>${context.get('textLine' )}</OrderId> </soapenv:Body> </soapenv:Envelope>
Step 3:
def fileList = context.get('textLine') def fileName = fileList.pop() def newname = fileName[0..-5] def response = context.expand( '${Step2#Response}' ) def f = new File("C:\\Users\\Groovy Test\\responses\\${fileName}_Response.xml") f.write(response, "UTF-8") if(fileList.size() >0) { testRunner.gotoStepByName("Step2") }
原文:
最满意答案
pexcept prompt()是except()的一个特例,它识别大多数类型的提示标识符。 self.session.before正在处理最近使用的提示和使用提示之间的所有内容; 换句话说,它正在输入命令和输出。 要摆脱重复的命令,只需删除字符串的第一个单词即可。 我通过将字符串拆分为一个列表来完成此操作,然后将所有内容打印出来,除了列表的第一个元素。
The pexcept prompt() is a special case of the except() that recognizes most types of prompt identifiers. self.session.before was taking everything between the most recently used prompt and the prompt to be used; in other words, it was taking the command entered and the output. To get rid of the repeated command, just eliminate the first word of the string. I did this by splitting the string into a list, and then, printing everything out except for the first element of the list.
相关问答
更多-
您的PNG质量问题的根源很可能是Gnuplot的png终端中缺少的抗锯齿。 既然你没有提供屏幕截图,我不知道你在谈论坏线宽时的意思,但是在MacOS上它是如何看待我的。 此屏幕截图显示了gnuplot的本机aquaterm输出的输出: 如果我们使用set term png创建一个png,那么这些行将变得“跳跃”并且被分解: 然而,有一个版本的png终端使用Cairo libs进行渲染,这使得输出更加平滑和更好。 set term pngcairo给出这个结果: 您可以使用set terminal来检查此终端 ...
-
在Asp.net中隐藏命令提示符(Hide Command Prompt in Asp.net)[2021-11-10]
使用ProcessStartInfo启动进程并将CreateNoWindow属性设置为true: ProcessStartInfo startInfo = new ProcessStartInfo(); startInfo.FileName = @"C:\Program Files\R\R-3.4.0\bin\RScript.exe"; startInfo.Arguments = @"F:\Project_files\R_script\RandomF_output.R"; start ... -
是否可以在提示中输入,并使用此代码输出(Is it possible to make input in an Prompt and that to output with this code)[2022-09-05]
我对您的代码有一些建议。 我首先将所有JavaScript命令调用放在一个函数中。 这有助于您的代码更有条理,并且您将来可能会在不同的时间或基于特定的用户操作调用该函数,而不是仅在加载元素的内容时调用它。 但是,现在,您似乎只想在加载页面时执行代码,在这种情况下,您可以按如下方式修改代码:Testing HTML, CSS and JS 不确定究竟是什么问题。 如果您有简化的要求就很容易,就像非常简单的例子一样...... 根据我的理解,您试图为每个项目代码获得每月的总和。 如果是,那么尝试下面给出的查询。 SELECT Od.ItemCode, OITM.ItemName, ITM8.APC, ITM7.UsefulLife, SUM(Od.OrdDprPost) AS AccumulatedDep, (ITM8.APC - SUM(Od.OrdDprPost)) AS NBV, (SELECT SUM(OdJ.OrdDprPost) ...代替 while ((line = input.readLine()) != null) { output += (line + '\n'); } 要立即将结果输出到命令行,只需在while循环中打印即可 while ((line = input.readLine()) != null) { System.out.println(line); output += (line + '\n') ...你可以尝试readline-sync模块 它有一个名为hideEchoBack的选项,它在屏幕上隐藏输入文字* var readlineSync = require('readline-sync'); // Wait for user's response. var userName = readlineSync.question('May I have your name? '); console.log('Hi ' + userName + '!'); // Handle the secret t ...根据@PetSerAl响应,我确实需要将文件保存为UTF8 with BOM 。 我也可以从我的Microsoft.PowerShell_profile.ps1删除Console]::OutputEncoding = [System.Text.Encoding]::UTF8 。 现在我的Microsoft.PowerShell_profile.ps1看起来像: function prompt { Write-Host "➜" -nonewline -foregroundcolor Magenta ...使用isatty(3)来确定stdin和/或stdout是否连接到tty。 Use isatty(3) to determine whether stdin and/or stdout are connected to a tty.隐藏prexcept提示输出(Hide prexcept prompt output)[2023-08-23]
pexcept prompt()是except()的一个特例,它识别大多数类型的提示标识符。 self.session.before正在处理最近使用的提示和使用提示之间的所有内容; 换句话说,它正在输入命令和输出。 要摆脱重复的命令,只需删除字符串的第一个单词即可。 我通过将字符串拆分为一个列表来完成此操作,然后将所有内容打印出来,除了列表的第一个元素。 The pexcept prompt() is a special case of the except() that recognizes most t ...用户输入的NASM输出提示(NASM output prompt for user input)[2022-02-26]
int 0x21 msg db 'Enter a Base Ten Number: ' <- OOPS. This will be executed as code. len equ $ -msg ;all of the code above runs fine it seems. It gets to this point ;but does not then run the following code mov ah, 9 您已将数据放在代码路径中。 CPU没有办法知道你在ms ...相关文章
更多- Swagger UI 快速入门-springmvc 整合Swagger UI 教程
- getOutputStream() has already been called for this response 问题
- SOAP 简单示例
- SOAP Body 元素详解
- SOAP HTTP 协议
- SOAP 介绍
- 最近遇到一个Ext.Ajax.request的奇怪问题
- SOAP 消息语法结构
- 自己封装的一个Solr Data Import Request Handler Scheduler
最新问答
更多- 获取MVC 4使用的DisplayMode后缀(Get the DisplayMode Suffix being used by MVC 4)
- 如何通过引用返回对象?(How is returning an object by reference possible?)
- 矩阵如何存储在内存中?(How are matrices stored in memory?)
- 每个请求的Java新会话?(Java New Session For Each Request?)
- css:浮动div中重叠的标题h1(css: overlapping headlines h1 in floated divs)
- 无论图像如何,Caffe预测同一类(Caffe predicts same class regardless of image)
- xcode语法颜色编码解释?(xcode syntax color coding explained?)
- 在Access 2010 Runtime中使用Office 2000校对工具(Use Office 2000 proofing tools in Access 2010 Runtime)
- 从单独的Web主机将图像传输到服务器上(Getting images onto server from separate web host)
- 从旧版本复制文件并保留它们(旧/新版本)(Copy a file from old revision and keep both of them (old / new revision))
- 西安哪有PLC可控制编程的培训
- 在Entity Framework中选择基类(Select base class in Entity Framework)
- 在Android中出现错误“数据集和渲染器应该不为null,并且应该具有相同数量的系列”(Error “Dataset and renderer should be not null and should have the same number of series” in Android)
- 电脑二级VF有什么用
- Datamapper Ruby如何添加Hook方法(Datamapper Ruby How to add Hook Method)
- 金华英语角.
- 手机软件如何制作
- 用于Android webview中图像保存的上下文菜单(Context Menu for Image Saving in an Android webview)
- 注意:未定义的偏移量:PHP(Notice: Undefined offset: PHP)
- 如何读R中的大数据集[复制](How to read large dataset in R [duplicate])
- Unity 5 Heighmap与地形宽度/地形长度的分辨率关系?(Unity 5 Heighmap Resolution relationship to terrain width / terrain length?)
- 如何通知PipedOutputStream线程写入最后一个字节的PipedInputStream线程?(How to notify PipedInputStream thread that PipedOutputStream thread has written last byte?)
- python的访问器方法有哪些
- DeviceNetworkInformation:哪个是哪个?(DeviceNetworkInformation: Which is which?)
- 在Ruby中对组合进行排序(Sorting a combination in Ruby)
- 网站开发的流程?
- 使用Zend Framework 2中的JOIN sql检索数据(Retrieve data using JOIN sql in Zend Framework 2)
- 条带格式类型格式模式编号无法正常工作(Stripes format type format pattern number not working properly)
- 透明度错误IE11(Transparency bug IE11)
- linux的基本操作命令。。。