Можно ли параллельно запускать функцию огурца в другом браузере?

Я работаю над большим проектом, я хочу параллельно запускать съедобный огурец в другом браузере. У меня есть определение шага? webdriverfactory и общие настройки.

У меня есть этот метод в webfactory, и он работает, и я пишу testng.xml

 public WebDriver driver;
    public static WebDriver get() {
          WebDriver driver = null ;
        System.setProperty("webdriver.chrome.driver","D:\\Drive\\chromedriver_win32\\chromedriver.exe");
        driver= new ChromeDriver();
        return(driver);
    }


    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd">
    <suite name="SuiteSopraHR" parallel="tests">


      <test  name="testie">
    <!--   <parameter name="myBrowser" value="ie" /> -->
        <classes>
          <class name="com.driver.WebDriverFactory"/>
        </classes>
      </test> <!-- Test -->


        <test  name="testchrome">
    <!--   <parameter name="myBrowser" value="chrome" /> -->
        <classes>
          <class name="com.driver.WebDriverFactory"/>
        </classes>

      </test> <!-- Test -->
    </suite> <!-- Suite -->

Я не знаю, как изменить другой метод, потому что он не имеет параметров для передачи и возвращает веб-драйвер. когда я изменил все остальные методы в других классах, у меня возникли проблемы с этим, пожалуйста, предложите. и может ли огурец-jvm работать параллельно в другом браузере??? или в консоли???


person user6618310    schedule 06.04.2018    source источник


Ответы (3)


Вы действительно можете запускать функции и сценарии Cucumber параллельно, используя Кабачки-JVM

Когда вы запускаете свои тесты, вы можете установить свойство System, которое будет нацелено на браузер, который вы хотите использовать параллельно.

Другой полезной библиотекой для управления двоичными файлами драйверов является WebDriver Binary Downloader.

Затем вы можете указать браузер для использования во время выполнения, используя:

System.setProperty("браузер", "хром");

or

Опция виртуальной машины -Dbrowser="chrome"

private WebDriver driver;

public void createDriver() {
    final String browser = System.getProperty("browser", "chrome").toLowerCase();

    switch (browser) {
        case "chrome":
            WebDriverBinaryDownloader.create().downloadLatestBinaryAndConfigure(BrowserType.CHROME);
            driver = new ChromeDriver();

        case "firefox":
            WebDriverBinaryDownloader.create().downloadLatestBinaryAndConfigure(BrowserType.FIREFOX);
            driver = new FirefoxDriver();

        default:
            throw new RuntimeException("Invalid browser specified!");
    }
}
person Prashant Ramcharan    schedule 06.04.2018
comment
Помогает ли это запустить мою функцию в другом браузере Chrome, т.е. параллельно или только в одном браузере? я использовал JVM огурца для запуска разных функций в одном и том же браузере - person user6618310; 06.04.2018
comment
Оба браузера одновременно. Все, что вам нужно, это создать 2 класса бегунов. Затем выполните оба класса бегунов одновременно. - person Prashant Ramcharan; 06.04.2018
comment
На самом деле все, что вам нужно, это создать 1 класс бегуна и просто запустить его дважды, но установить свойство System (пример: run1, вы передаете -Dbrowser=chrome И run2, вы передаете -Dbrowser=ie) - person Prashant Ramcharan; 06.04.2018

Я думаю, вам нужно добавить конструкцию переключателя в свой метод и параметр - тип браузера из testng.xml. Также, насколько мне известно, параллельное выполнение будет работать только с нестатическим драйвером.

person Ukrainis    schedule 06.04.2018

Мы используем QAF-Gherkin-client, где вы можете настройте его, используя один или несколько тестовых узлов xml. Вы также можете запускать сценарии параллельно. Вам не нужно писать какой-либо код для управления драйверами или других общих потребностей функционального тестирования.

<suite name="AUT Test Automation" verbose="0" parallel="methods">
      <test name="Tests on chrome">
            <parameter name="driver.name" value="chromeDriver"/>         
            <classes>
                  <class name="com.qmetry.qaf.automation.step.client.gherkin.GherkinScenarioFactory" />
            </classes>
      </test>
      <test name="Tests FF">
            <parameter name="driver.name" value="firefoxDriver"/>         
            <classes>
                  <class name="com.qmetry.qaf.automation.step.client.gherkin.GherkinScenarioFactory" />
            </classes>

      </test>
 </suite>
person user861594    schedule 08.04.2018