Ниже приведены ваши варианты.
- Посмотрите, можете ли вы получить разрешение от ИТ-отдела вашей компании на внесение в белый список сайта загрузки плагинов eclipse, чтобы вы могли установить его через eclipse (или), чтобы они загрузили jar плагинов eclipse отдельно, и вы можете опустить jar в Папка
dropins
, чтобы Eclipse знал об этом. Для получения дополнительной информации, пожалуйста, обратитесь к ответам на этот вопрос stackoverflow .
- Если доступно, используйте альтернативную среду разработки, например IntelliJ. IntelliJ, в отличие от eclipse, поставляется с предустановленным плагином TestNG и его должно быть достаточно.
- Вы используете инструмент сборки, такой как Maven / Ant / Gradle, для запуска ваших тестов из командной строки. Как Maven, так и Gradle позволяют вам запустить даже 1 одиночный тест в одно и то же время. Таким образом, вы должны иметь возможность легко запускать тесты без IDE из командной строки (что, в конечном итоге, и будет выполнением ваших тестов в среде непрерывной интеграции, такой как Jenkins)
- Вы создаете класс жилья
main()
, который будет напрямую использовать API-интерфейсы TestNG для создания тестов. Поэтому каждый раз, когда вы хотите запустить тестовый класс TestNG или набор и т. Д., Вы просто возвращаетесь к своему классу бегуна, обновляете его деталями и затем запускаете через него [Для меня этот вариант должен быть вашим последним средством]
Вот полноценный пример для варианта (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;
}
}