问题标签 [ready-api]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
388 浏览

httprequest - 请求在 ReadyAPI 中不起作用,尽管它在 swagger 或 Postman 中有效

我从 swagger 导入的请求有问题。

我有一个看起来像的请求/m2m/fim/items?filter=(tags=DEVICE)&exclude=tags,objectClass,href,operations,attributes,metadata,factory&expand=properties&limit=20

使用 swagger 我可以测试它,如果我在 Postman 中导入它,它也可以工作。它给了我当前的请求:

curl -X GET \ 'http://xx.xx.xxx.xxx/m2m/fim/items?filter=(tags%3DDEVICE)&exclude=tags%2CobjectClass%2Chref%2Coperat...' \

我的 SOAP 请求看起来像

"GET /m2m/fim/items?filter=%28tags%3DDEVICE%29&exclude=tags%2CobjectClass%2Chref%2Coperations%2Cattributes%2Cmetadata%2Cfactory&expand=properties&limit=20 HTTP/1.1[\r][\n]"

看起来“过滤器”参数的括号已针对请求进行了转换(邮递员不会发生这种情况),然后我的请求失败了。

谁能告诉我可以使用哪种语法,这样括号就不会被解释?

谢谢你

编辑:在我的 HTTP 日志中,我可以看到“Accept-Encoding: gzip,deflate”,这不是我想要的。在邮递员中,我有标题 Accept: application/json.

我知道如何从首选项中删除我当前的标题,但我不知道如何设置想要的标题。有人知道吗?

解决方案但不完整。

我发现了问题所在,我需要一个标题Accept: application/json

现在我的问题是以一种简单的方式将它添加到我所有测试用例中的所有请求中(我有超过 400 个请求)

亚历克斯

0 投票
1 回答
630 浏览

groovy - 如何在 SoapUI 中记录 XML 请求的时间戳并在断言中使用它?

我在 SoapUI NG Pro 中有一个测试用例,其中包含以下步骤:

  1. 启动进程的 POST REST 请求
  2. JDBC 请求,我在其中检查进程开始日期是否已记录到数据库表中
  3. 延迟(模拟进程运行所需的时间)
  4. JDBC 请求,我在其中检查结束日期和持续时间是否已记录到表中

我想捕获 POST 请求的时间戳,以便在步骤 2 和 4 的断言中使用。

我在网上环顾四周,有些人提到使用事件,而另一些人提到使用脚本测试步骤,但我无法让任何一个工作。

我可以得到 POST Response 时间戳,但我特别在寻找 Request 时间戳。我还注意到请求日志中有一个时间戳,但我不知道如何访问它。

任何帮助将不胜感激。可能还值得一提的是,我使用的是 JavaScript 而不是 Groovy。

0 投票
3 回答
875 浏览

soapui - 从 git 导入项目 - 准备好的 api

我正在尝试从 GIT 将自己导入到一个准备好的 api 2.2.0 项目中,但是在输入下面的内容后,我得到了屏幕上的内容。当我进入我创建的文件夹时,会创建一个 .git 文件夹是否有可能以某种方式摆脱这个未添加的文件夹?我还有一个 Git 集成插件 1.0.2 插件

在此处输入图像描述

0 投票
1 回答
233 浏览

soapui - ReadyAPI - 如何存储“运行测试用例”步骤响应?

我有几个 testSuites :

  • 一个包含我可以使用的所有 REST API => api 测试套件

  • 一个包含将使用这些 API 的更高级别的测试 => 用例测试套件

在我的用例中,我使用“运行测试用例”步骤调用 api 测试套件请求。

我发现它不是很方便,因为我无法对其设置任何断言,并且我必须执行常规脚本才能获得远程(api 测试套件)testCase 的响应。

是否有可能从我的“运行测试用例”中将远程测试用例的响应存储在属性中以供进一步使用?

谢谢你的帮助

亚历克斯

0 投票
1 回答
124 浏览

soapui - 为 readyAPI 更新 apache commons

我需要为 readyAPI 升级 apache commons,我有两个解决方案

  • 将当前版本保留在 lib 中,并将新版本放在 ext 中:不起作用)
  • 删除 lib 中的当前版本并将其替换为新版本:readyAPI freeze on loading jars from lib.

有没有办法强制 readyAPI 使用 ext 文件而不是 lib 文件中的版本?如果没有,是否有任何解决方案来更新我的 apache commons?

0 投票
1 回答
114 浏览

soapui - Soap UI Pro 中的多环境支持

Soap UI Pro 在多环境支持方面非常受欢迎。但是,当我们甚至可以在 Soap UI 中更改环境时,将其视为功能之一有什么用。我们可以简单地在服务端点中更改或添加多个端点。关于多环境支持,还有其他我不知道的事实吗?

0 投票
2 回答
749 浏览

arrays - 在 ReadyApi 2.3.0 中将数组从 Groovy Step 传递到 SoapRequest

我将多个日期传递给我的请求,从 groovy 我返回类似这样的内容(日期不同):[2018-06-11, 2018-06-13, 2018-06-11, 2018-06-14, 2018-06-11, 2018-06-14]

在 2.3.0 版本之前,我使用下面的脚本来访问每个元素(这个给出了 2018-06-11):

但是在最新版本中它返回空,GetData 也不再将其识别为数组。

是否有其他方法可以从请求中访问数组,它是否与 JSON 版本更新有关,尽管我没有使用?

PS:我不确定是否有我应该等待的错误或过时的功能我不能再使用,并且不知道如何在当前状态下检索数据......

0 投票
1 回答
969 浏览

soapui - [ReadyAPI]:在 Groovy 脚本中连接数据库

需要帮助:将我的 ReadyAPI 从 2.0 升级到 2.3 版本。我有 groovy 脚本来连接到在项目级别定义的数据库。升级后抛出如下错误。

错误:

引起:groovy.lang.MissingMethodException:没有方法签名:com.eviware.soapui.impl.wsdl.support.connections.DefaultDatabaseConnectionContainer.getDatabaseConnectionByName() 适用于参数类型:(java.lang.String) 值:[MyDB ] 在 org.codehaus.groovy.runtime.callsite.PojoMetaClassSite.call(PojoMetaClassSite.java:49) 在 org.codehaus.groovy.runtime 的 org.codehaus.groovy.runtime.ScriptBytecodeAdapter.unwrap(ScriptBytecodeAdapter.java:58)。 callsite.CallSiteArray.defaultCall(CallSiteArray.java:48) at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:113) at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.call(AbstractCallSite.java:113) java:125) 在 com.eviware.soapui.support.scripting.groovy.SoapUIGroovyScriptEngine 的 Script3.run(Script3.groovy:11)。在 com.eviware.soapui.support.scripting.groovy.SoapUIProGroovyScriptEngineFactory$SoapUIProGroovyScriptEngine.run(SoapUIProGroovyScriptEngineFactory.java:82) 在 com.eviware.soapui.impl.wsdl.testcase.WsdlTestCase.runScript( WsdlTestCase.java:984) 在 com.eviware.soapui.impl.wsdl.testcase.WsdlTestCase.runSetupScript(WsdlTestCase.java:989) ... 还有 9 个

我的脚本:

0 投票
1 回答
1914 浏览

api - 如何通过 groovy 动态更新 ReadyAPI/SoapUI 中的资源值?

我的资源采用这种格式“testing/101/getCustomer/99”

在这里,我需要通过 groovy 动态更改“101”和“99”部分,以便我可以在同一个测试用例中运行多个值。我查看了 ReadyAPI 的内置功能,但它并没有那么有用。

我也找到了这个链接,但是它改变了整个项目中的资源。我正在寻找的解决方案是在测试用例级别。因为我的每个测试用例都会有不同的 url。

https://community.smartbear.com/t5/SoapUI-Open-Source/How-to-set-the-resource-path-at-run-time-while ...

任何帮助将不胜感激。

这是我到目前为止尝试过的

0 投票
2 回答
2625 浏览

groovy - 如果使用脚本断言在soapui中请求失败,如何停止测试用例执行?

如果soap请求失败意味着Status != "HTTP/1.1 200 OK",testCase应该停止并且没有进一步的步骤应该运行

在groovy中有一种方法可以做到这一点,但我不希望在测试用例中添加额外的测试步骤

请注意,由于其他一些常规代码限制,我无法更改以下设置

在此处输入图像描述

不更改上述选项的原因我有一个测试用例,其中有 10 个步骤。1 是请求,其他 9 个步骤验证各种事情。因此,如果我选中“错误中止”选项并且第 3 步失败。然后从 4 到 10 的步骤都没有运行。所以请提供一个考虑不使用“中止”选项的解决方案

那么您能否在不勾选此选项的情况下提供脚本断言的解决方案。“错误中止”

由于testRunner.fail在脚本断言中不可用,并且正常断言(断言 0==1)不会停止测试用例,除非我们勾选上述设置。我被这个限制所困