首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在黄瓜框架中实现嵌套循环?

如何在黄瓜框架中实现嵌套循环?
EN

Stack Overflow用户
提问于 2021-12-15 05:54:10
回答 1查看 340关注 0票数 0

我有一个场景,我必须验证30个链接,在每个链接中有24个值。所以我必须点击30个链接中的每个链接,然后验证该链接中的24个值。如何在黄瓜框架中实现这一点??在一般的java方法中,我们可以使用2个循环,在外部循环中将输入30个链接的列表,然后在内循环中输入24个值的列表。如何在黄瓜框架中实现嵌套循环??提前感谢

30个链接 24个数值

EN

回答 1

Stack Overflow用户

发布于 2021-12-16 09:47:54

假设您有这样的功能文件

代码语言:javascript
运行
复制
Feature: URLs and values

  Scenario: Validating URLs
    Given the following URL list:
      |http://my.url/1|
      |http://my.url/2|
      |http://my.url/3|
      |http://my.url/4|
    Then values are correspondingly equal to:
      |val 11|val 12|val 13|
      |val 21|val 22||
      |val 31|||
      |val 41|val 42|val 43|

然后首先需要将Picocontainer依赖项添加到项目中:

代码语言:javascript
运行
复制
<dependency>
    <groupId>io.cucumber</groupId>
    <artifactId>cucumber-picocontainer</artifactId>
    <version>7.0.0</version>
    <scope>test</scope>
</dependency>

N.B. -版本必须与您的黄瓜版本匹配

然后,您可以像这样实现步骤防御:

代码语言:javascript
运行
复制
package click.webelement.cucumber;

import io.cucumber.java.en.Given;
import io.cucumber.java.en.Then;
import java.util.ArrayList;
import java.util.List;

public class DataTablesStepDef {

    ArrayList<String> urls;

    public DataTablesStepDef(ArrayList<String> urls){
        this.urls = urls;
    }

    @Given("the following URL list:")
    public void urlList(List<String> urls){
        this.urls.addAll(urls);
    }

    @Then("values are correspondingly equal to:")
    public void validateValues(List<List<String>> values){
        for(int i = 0; i < urls.size(); i++){
            for(int j = 0; j < values.get(i).size(); j++){
                String value = values.get(i).get(j);
                if(value != null){
                    System.out.println("Validating value["
                            +  value
                            + "] for url: " + urls.get(i));
                }
            }
        }
    }

}

现在让我们看看输出:

代码语言:javascript
运行
复制
Validating value[val 11] for url: http://my.url/1
Validating value[val 12] for url: http://my.url/1
Validating value[val 13] for url: http://my.url/1
Validating value[val 21] for url: http://my.url/2
Validating value[val 22] for url: http://my.url/2
Validating value[val 31] for url: http://my.url/3
Validating value[val 41] for url: http://my.url/4
Validating value[val 42] for url: http://my.url/4
Validating value[val 43] for url: http://my.url/4
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70358989

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档