Jacobvu84 / selenium-vietnam-training-course

Questions Tracking
7 stars 5 forks source link

Làm sao override DriverSource #26

Open Jacobvu84 opened 6 years ago

Jacobvu84 commented 6 years ago
package com.workray.drivers;

import net.thucydides.core.webdriver.DriverSource;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;
import org.openqa.selenium.remote.DesiredCapabilities;
import org.openqa.selenium.remote.RemoteWebDriver;

import static com.workray.utilities.browser.DriverHelper.*;
import static com.workray.utilities.browser.ProxyHelper.getProxy;
import static org.openqa.selenium.remote.DesiredCapabilities.chrome;

public class ChromeDesktop implements DriverSource {
    @Override
    public WebDriver newDriver() {
        DesiredCapabilities capabilities = chrome();
        capabilities.merge(addProxySettings(getProxy()));
        capabilities.merge(removeInfoBar());

        WebDriver driver;
        if(System.getProperty("user.name").equalsIgnoreCase("kingha01")) {
            driver = new RemoteWebDriver(capabilities);
        } else {
            driver = new ChromeDriver(capabilities);
        }
        setWindowSize(driver);
        return driver;
    }

    @Override
    public boolean takesScreenshots() {
        return true;
    }
}
    public static DesiredCapabilities addProxySettings(BrowserMobProxy browserMobProxy) {
        DesiredCapabilities capabilities = new DesiredCapabilities();
        if(browserMobProxy.isStarted()) {
            Proxy proxy = createSeleniumProxy(browserMobProxy);
            proxy.setNoProxy("account.microsoft.com");  //For Microsoft login
            capabilities.setCapability(CapabilityType.PROXY, proxy);
        }
        return capabilities;
    }
Jacobvu84 commented 6 years ago

Mở file serenity.properties driver=provided webdriver.provided.mydriver = com.workray.drivers.ChromeDesktop

Jacobvu84 commented 6 years ago

chrome.switches=--proxy-bypass-list="*.lan;localhost;*.aaa;*.bbbb.org",--proxy-server=proxyAddr:portNo