空手道 - 循环请求

时间:2017-11-07 07:43:12

标签: unit-testing karate

我想要请求登录网址10次。我是这样做的:

  Background:
    * def loginAttempt =
    """
      function(times){
        for(i=0;i<times;i++){
          karate.log('Run test round: '+(i+1));
          karate.call('classpath:init/login.feature');
        }
        java.lang.Thread.sleep(1*1000);
      }
    """
  Scenario: Correct
    * call loginAttempt 10

这是login.feature:

Feature: register a user
  Scenario: call register for a user
    Given url urlBase +  loginUrl
    And request
    """
    {
      "username": #(username),
      "password": #(password)
    }
    """
    When method post

如何直接将代码放入循环中的login.feature中?

1 个答案:

答案 0 :(得分:1)

答案是你不能。您可以在空手道中重复使用一组功能步骤的唯一方法是将其移动到单独的功能文件中。我不明白为什么你认为这是一个问题。这实际上很好,因为您可以重新使用其他测试的登录。

如果你真的想要在一个功能中包含所有内容,请在Java中编写你想要做的事情,然后你可以从一个功能文件中循环调用它。