Невозможно загрузить testng из http://beust.com/eclipse/ из-за политики компании. - PullRequest
0 голосов
/ 25 июня 2018

Я создал проект maven, с огурцом BDD и testNG. Однако, чтобы использовать testng, мне нужно установить плагин testng из справки eclipse. Проблема в том, что моя компания заблокировала использование таких внешних подключений. Есть ли альтернатива для этого.

1 Ответ

0 голосов
/ 26 июня 2018

Ниже приведены ваши варианты.

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

    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...