【问题标题】:How can I randomize order of cucumber example steps=如何随机化黄瓜示例步骤的顺序=
【发布时间】:2018-06-15 02:23:42
【问题描述】:

如何随机化最快的方法/方式?: 场景大纲:作为 Piet 我可以删除用户 鉴于用户以“Piet”身份登录 鉴于选择了菜单项“用户管理” 当用户 '' 被删除时 然后通知面板包含消息“Deze gebruiker is succesvol verwijderd。 并且通知面板没有错误

随机删除顺序

Examples: User accounts to delete
  | username      |
  | hans          |
  | piet          |
  | kees          |
  | jan           |

我希望 Cucumber 支持这样的东西:(但显然它不支持,至少现在还没有) 场景大纲:作为 Piet 我可以删除用户 鉴于用户以“PIET”身份登录 鉴于选择了菜单项“用户管理” 当用户 '' 被删除时 然后通知面板包含消息“Deze gebruiker is 威杰德。 并且通知中没有错误

随机删除顺序

Examples: User accounts to delete
  | username [RANDOM] |
  | hans              |
  | piet              |
  | kees              |
  | jan               |

那么让这些步骤以随机顺序运行的最佳方法是什么?

【问题讨论】:

    标签: selenium cucumber


    【解决方案1】:

    这是一种完全的黑客方式。但它有效。

    将所有用户置于场景中。示例表包含倒计时。

    Scenario Outline:
        When Users to be deleted "one,two,three,four,five"
        Then Delete random user <num>
    
        Examples:
        | num |
        |5|
        |4|
        |3|
        |2|
        |1|
    

    步骤定义代码。这是在 Cucumber 3.0.2 中,如果在 Cucumber 2 或更低版本中,请进行相应修改。

        private static List<String> delUserList = new ArrayList<>();
        private List<String> userList= new ArrayList<>();
    
        @When("Users to be deleted {string}")
        public void userDel(String users) {
            System.out.println("------------");
            System.out.println("Deleted users - "+delUserList);
            userList = new ArrayList<>(Arrays.asList(users.split(",")));
            userList.removeIf(delUserList::contains);
            System.out.println("Remaining users - "+userList);
        }
    
        @Then("Delete random user {int}")
        public void delRandom(int num) {
            Random rand = new Random();
            int ind = rand.nextInt(num);
            System.out.println("User to delete - "+userList.get(ind));
            delUserList.add(userList.get(ind));
        }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-02-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-05-20
      相关资源
      最近更新 更多