SOAP UI-自动化令牌检索过程无效

时间:2016-02-16 08:17:32

标签: javascript oauth-2.0 soapui

我在Oauth配置文件的SOAP UI的Automation窗口中实现了java脚本。但是直到用户手动运行它才能工作。如何在我的令牌过期时自动调用脚本。

enter code here
function consent(){
document.getElementById('loginform').click();
}

if (document.getElementById('login')) {
document.getElementById('login').value = 'xxxx@xxx.com';
document.getElementById('password').value = 'xxxxx';
document.loginform.submit();
}

else if (document.getElementById('loginform')){
window.setInterval(content,100);
}

1 个答案:

答案 0 :(得分:0)

以下是需要处理的方法。

  1. 调用服务以获取令牌令牌。
  2. 上述回复还必须包含标题中的到期时间,将其解压缩并存储在属性中以及令牌
  3. 进行需要有效令牌的正常服务电话
    • 在发送请求之前,找到当前时间并将其与步骤2中存储的属性进行比较
    • 如果当前时间小于到期时间,请使用相同的令牌
    • 其他重复相同的步骤
  4. 现在,问题是如何在实际运行测试步骤之前运行随机代码?

    您应该能够使用setup的{​​{1}},teardown脚本执行一些额外的代码,例如,

    请允许我用一个例子来解释。

    您正在运行一个测试用例,其中包含调用某些服务的步骤,它需要test case, test suite, project

    将所需代码添加到评估是否要再次检索令牌或重新使用现有令牌。这应该是测试用例的安装脚本的一部分,因此在运行测试用例之前,始终会执行安装脚本中的代码。请记住,如果您运行该测试用例的测试步骤,则不会运行您的脚本,因此请确保运行测试用例。

      

    注意:
    但是,目前使用SoapUI开源版本无法在测试步骤级别完成。

         

    token中有一个名为Events的功能,可以很好地控制要做什么和什么时候做什么。此功能在Ready! API的开源版本中不可用。

         

    但是对于开源,一个extension可用,我之前做过的,这将允许一些人为某些事件运行一些自定义代码,如beforeStep,afterStep等,这是使用Groovy Script尝试的。但是,您似乎在这里使用Javascript。如果您愿意,您可以尝试延期,当然,如果需要的话。

    <强>更新

    作为问题的作者请求某些信息,所以更新答案。

    您可以查看此文档link,其中显示了如何在需要满足某些条件时使用专业软件的SoapUI功能来执行更多操作。

    SmartBear团队还有一个webinar,它展示了如何使用事件,但时间很少。全部使用custom events

    我看到你使用groovy,有没有什么能够驱使你使用它?还是只是你舒服地使用它?没关系,你应该能够使用它。