我用黄瓜BDD和testNG创建了一个maven项目。但是要使用testng我需要从eclipse帮助中安装testng插件。问题是我的公司已禁止使用此类外部连接。是否有替代方法。
答案 0 :(得分:0)
以下是您的选择。
dropins
文件夹,以便eclipse知道它。有关更多信息,请参阅this stackoverflow question的答案。main()
方法容纳类,该类将直接使用TestNG API来创建测试。因此,每次您要运行TestNG测试类或套件等时,您只需返回到跑步者类,使用详细信息对其进行更新,然后通过它运行[对我来说,此选项是您的最后选择] < / li>
这是选项(4)的完整示例,您应该可以对其进行调整以供自己使用。
public class Practice {
public static void main(String[] args) {
for (String each : new String[]{"A", "B"}) {
runWith(each);
}
}
private static void runWith(String group) {
TestNG testNG = new TestNG();
XmlSuite xmlSuite = new XmlSuite();
xmlSuite.setName("suite");
XmlTest xmlTest = new XmlTest(xmlSuite);
xmlTest.setName("test");
xmlTest.addIncludedGroup(group);
XmlClass clazz = new XmlClass(Practice.class);
clazz.loadClasses();
xmlTest.getClasses().add(clazz);
testNG.setXmlSuites(Collections.singletonList(xmlSuite));
System.out.println(xmlSuite.toXml());
testNG.run();
}
@Test(dataProvider = "SearchProvider", groups = "A")
public void testMethodA(String author, String searchKey) {
System.out.println("testMethodA :" + author + ", " + searchKey);
}
@Test(dataProvider = "SearchProvider", groups = "B")
public void testMethodB(String searchKey) {
System.out.println("testMethodB :" + searchKey);
}
@DataProvider(name = "SearchProvider")
public Object[][] getDataFromDataprovider(ITestContext c) {
Object[][] groupArray = null;
for (String group : c.getIncludedGroups()) {
if (group.equalsIgnoreCase("A")) {
groupArray = new Object[][]{
{"Guru99", "India"},
{"Krishna", "UK"},
{"Bhupesh", "USA"}
};
break;
} else if (group.equalsIgnoreCase("B")) {
groupArray = new Object[][]{
{"Canada"},
{"Russia"},
{"Japan"}
};
}
break;
}
//return groupArray;
return groupArray;
}
}