Kijan Pou kouri WebDriver nan mòd san tèt

Kouman kouri WebDriver nan mòd san tèt? Sa a ta ka bezwen si zouti CI ou, pou egzanp, Jenkins pa sipòte UI.

Kouri WebDriver Tès otomatik nan mòd headless bay avantaj an tèm de vitès nan ekzekisyon nan tès yo ak pi fasil entegrasyon nan tiyo a CI.

Nan leson patikilye sa a, nou pral itilize PhantomJS ak ChromeDriver nan kouri Selenium WebDriver tès nan mòd san tèt.




PhantomJS

Kouri Selenyòm WebDriver tès nan mòd san tèt lè l sèvi avèk PhantomJS, ou premye bezwen download la PhantomJS dosye ègzèkutabl epi sove li nan yon kote, egzanp. katab resous pwojè ou a.

Nan egzanp ki anba a, mwen te mete ègzèkutabl la PhantomJS nan src / tès / resous / phantomjs


Ou pral bezwen tou depandans chofè fantom lan tou:

com.github.detro.ghostdriver phantomjsdriver 1.0.1

Ak klas Java ou:

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://devqa.io');
} }


ChromeDriver

Pou kouri tès WebDriver nan mòd san tèt lè l sèvi avèk ChromeDriver, ou pral bezwen ajoute depandans yo ki enpòtan nan dosye pom.xml ou a:


org.seleniumhq.selenium
selenium-chrome-driver
${selenium.version}
org.seleniumhq.selenium
selenium-server
${selenium.version}
org.seleniumhq.selenium
selenium-java
${selenium.version}
io.github.bonigarcia
webdrivermanager
${webdrivermanager.version}

Apre sa, nou enstwi manadjè WebDriver lanse chrome chofè nan mòd san tèt


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://devqa.io');
} }