有没有办法从Selenium Cucumber testng框架中的@DataProvider注释中获取数据?

问题描述 投票:0回答:1

我正在开发一个selenium-TestNg项目,我们正在整合黄瓜框架,我需要通过@DataProvider技术获取数据。

selenium cucumber testng bdd testng-dataprovider
1个回答
0
投票

那么你可以通过使用qaf-gherkinqaf-bdd来实现。您可以使用csv / xml / json / excel / database可用的内置数据提供程序,也可以创建自定义TestNg数据提供程序并使用它。这是使用具有不同参数的数据提供者的BDD-Example。参考下面的例子:

SCENARIO: Custom Data provider Example 
META-DATA: {"dataProvider":"my-custom-dp", "dataProviderClass":"my.project.impl.CustomDataProvider","description":"Data driven test that uses custom data provider"}
    Given I am on fruits and colors activity
    When i select '${fruit}'
    Then the color should be '${color}'

END

数据提供者实施:

package my.project.impl;

import java.util.Map;
import org.testng.annotations.DataProvider;
import org.testng.collections.Maps;

/**
 * @author chirag.jayswal
 *
 */
public class CustomDataProvider {

    @DataProvider(name="my-custom-dp")
    public static Object[][] dataProviderForBDD(){

        Map<Object, Object> rec1 = Maps.newHashMap();
        m.put("fruit", "grapes");
        m.put("color", "green");

        Map<Object, Object> rec2 = Maps.newHashMap();
        m.put("fruit", "banana");
        m.put("color", "yellow");

        return new Object[][]{ {rec1},{rec2}};
    }
}
© www.soinside.com 2019 - 2024. All rights reserved.