我正在开发一个selenium-TestNg项目,我们正在整合黄瓜框架,我需要通过@DataProvider技术获取数据。
那么你可以通过使用qaf-gherkin或qaf-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}};
}
}