【发布时间】:2015-03-30 14:10:58
【问题描述】:
首先,我必须写一些“sosage around”来清楚地解释我需要弄清楚的内容。所以,请耐心等待。
在我的 SoapUI 项目中的 TestCase 中,我有一个包含“发送获取请求”步骤和“属性”步骤的测试步骤。在测试步骤“发送获取请求”中,我正在请求访问令牌
如果我想自动检索此访问令牌,可以通过 Javascript(我已经拥有)来完成。
var userIdElement = document.querySelector("#idp *[name=userid]");
userIdElement.value = "123123"
var password = document.querySelector("#idp *[name=userpwd_page]");
password.value = "aa123456";
var button = document.querySelector("button[type=submit]")
button.click();
那么,我的问题是什么? 我需要弄清楚:
-
如何从我的测试场景中的属性中加载一个变量 JS 变量到:
userIdElement.value = "123123"使用类似的语法很常见
def var_sql = context.expand("${#Properties#ID_SQL}")但这只能在 Groovy 脚本中使用。 那么,这可以在 Javascript 中以某种方式完成吗?
第二件事是,如果我想检索 AT,我必须单击“获取令牌”,然后单击“获取访问令牌”。但是当我需要自动执行此操作时,这是一个相当大的问题。那么,您知道如何自动执行此操作吗?
非常感谢你们!
【问题讨论】:
-
专业版没有免费支持吗?
-
你是如何发送 GET 请求的? http请求步骤?那么您可以使用与您提到的相同的语法,但您可以使用 ${#TestCase#SOME_PROPERTY}
-
@tim_yates 好吧,我到处寻找信息... :)
-
@Rao 嗨,这里的问题是语法 ${#TestCase#Some_property} 在 Javascript 中不起作用。像这样调用 varialbe 仅在 Groovy 中可行,而在 Javascript 中则不行。我收到错误:
The following script is invalid: var userIdElement = document.querySelector("#idp *[name=userid]"); userIdElement.value = ${#TestCase#SOME_PROPERTY} //"9423752534" var password = document.querySelector("#idp *[name=userpwd_page]"); password.value = "aa123456"; var button = document.querySelector("button[type=submit]") button.click(); Error: missing ; before statement (scriptToValidate#2
标签: javascript groovy soapui