0

私は大きなプロジェクトに取り組んでいます。別のブラウザで eature cucumber を並行して実行したいのですが、ステップ定義を備えていますか? 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 -->

渡すパラメーターがなく、Web ドライバーを返すため、他のメソッドを変更する方法がわかりません。他のクラスの他のすべてのメソッドを変更したときに問題が発生した場合は、提案をお願いします。そしてcucumber-jvmは異なるブラウザで機能を並行して実行できますか??? またはコンソールで???

4

3 に答える 3

1

実際、 Courgette-JVMを使用して、 Cucumberの機能シナリオを並行して実行できます。

テストを実行するときに、並行して使用するブラウザーを対象とするシステム プロパティを設定できます。

ドライバー バイナリを管理するためのもう 1 つの便利なライブラリは、WebDriver Binary Downloaderです。

次に、実行時に使用するブラウザーを次のように指定できます。

System.setProperty("ブラウザ", "クロム");

また

VM オプション -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!");
    }
}
于 2018-04-06T09:30:01.007 に答える