ヘッドレスモードでWebDriverを実行するにはどうすればいいですか?

3730 ワード

ヘッドレスモードでWebDriverを実行するにはどうすればいいですか?CIツール(Jenkinsなど)がUIをサポートしていない場合は、このようにする必要があります.
ヘッドレスモードでWebDriver自動テストを実行することは、テスト実行速度とCIパイプへの容易な統合に優れています.
次に、PhantomJSとChromeDriverを使用して、Selenium WebDriverテストをヘッドレスモードで実行します.
PhantomJS
PhantomJSを使用してWebDriverテストをヘッドレスモードで実行するには、まずPhantomJS実行可能ファイルをダウンロードし、プロジェクトのリソースフォルダなどの場所に保存する必要があります.
次の例では、src/test/resources/phantomjsの実行可能ファイルを
ghostドライバ依存項目も必要です.

    com.github.detro.ghostdriver
    phantomjsdriver
    1.0.1


あなたのJavaクラスは
package com.sdetworld.tutorials.selenium

import org.openqa.selenium.phantomjs.PhantomJSDriver;
import org.openqa.selenium.phantomjs.PhantomJSDriverService;
import org.openqa.selenium.remote.DesiredCapabilities;

public class WebDriverBase {

  static protected WebDriver driver;

  public static void setup() {
    DesiredCapabilities caps = new DesiredCapabilities();
    caps.setJavascriptEnabled(true); // not really needed: JS enabled by default
    caps.setCapability(PhantomJSDriverService.PHANTOMJS_EXECUTABLE_PATH_PROPERTY, "src/test/resources/phantomjs");

    driver = new PhantomJSDriver(caps);
  }
  public static void main(String[] args) {
    WebDriverBase.setup();
    driver.get("https://www.testingexcellence.com");
  }
}

ChromeDriver
ChromeDriverを使用してヘッドレスモードでWebDriverテストを実行するにはpom.xmlファイルに関連する依存項目を追加するには、次の手順に従います.

    org.seleniumhq.selenium
    selenium-chrome-driver
    ${selenium.version}                     、    、     、    、LR    、    
                                             。     175317069,                 ,  
                                                         、     ,              
    org.seleniumhq.selenium            ,             。
    selenium-server
    ${selenium.version}


    org.seleniumhq.selenium
    selenium-java
    ${selenium.version}


    io.github.bonigarcia
    webdrivermanager
    ${webdrivermanager.version}


次に、WebDriverマネージャにヘッドレスモードでchromeドライバを起動するように指示します.
package com.sdetworld.tutorials.selenium

import io.github.bonigarcia.wdm.ChromeDriverManager;
import org.openqa.selenium.chrome.ChromeDriver;

public class WebDriverBase {

  static protected WebDriver driver;

  public static void setup() {

    ChromeDriverManager.getInstance().setup();
    ChromeOptions chromeOptions = new ChromeOptions();

    chromeOptions.addArguments("--headless");
    driver = new ChromeDriver(chromeOptions);
  }

  public static void main(String[] args) {
    WebDriverBase.setup();
    driver.get("https://www.testingexcellence.com");
  }
}

転載先:https://juejin.im/post/5bfb73d96fb9a049b78009d4