类org.openqa.selenium.MutableCapabilities源码实例Demo

下面列出了怎么用org.openqa.selenium.MutableCapabilities的API类实例代码及写法,或者点击链接到github查看源代码。

源代码1 项目: demo-java   文件: UpdateSauceStatusTest.java
public void setUp() throws MalformedURLException {
    String username = System.getenv("SAUCE_USERNAME");
    String accessKey = System.getenv("SAUCE_ACCESS_KEY");

    ChromeOptions chromeOpts = new ChromeOptions();
    chromeOpts.setExperimentalOption("w3c", true);

    MutableCapabilities sauceOpts = new MutableCapabilities();
    sauceOpts.setCapability("username", username);
    sauceOpts.setCapability("accessKey", accessKey);

    DesiredCapabilities caps = new DesiredCapabilities();
    caps.setCapability(ChromeOptions.CAPABILITY,  chromeOpts);
    caps.setCapability("sauce:options", sauceOpts);
    caps.setCapability("browserName", "googlechrome");
    caps.setCapability("browserVersion", "latest");
    caps.setCapability("platformName", "windows 10");

    String sauceUrl = "https://ondemand.saucelabs.com:443/wd/hub";
    URL url = new URL(sauceUrl);
    driver = new RemoteWebDriver(url, caps);
}
 
源代码2 项目: Selenium-Foundation   文件: SeleniumConfig.java
/**
 * {@inheritDoc}
 */
@Override
public Path createNodeConfig(String capabilities, URL hubUrl) throws IOException {
    String nodeConfigPath = getNodeConfigPath().toString();
    String configPathBase = nodeConfigPath.substring(0, nodeConfigPath.length() - 5);
    String hashCode = String.format("%08X", Objects.hash(capabilities, hubUrl));
    Path filePath = Paths.get(configPathBase + "-" + hashCode + ".json");
    if (filePath.toFile().createNewFile()) {
        JsonInput input = new Json().newInput(new StringReader(JSON_HEAD + capabilities + JSON_TAIL));
        List<MutableCapabilities> capabilitiesList = GridNodeConfiguration.loadFromJSON(input).capabilities;
        GridNodeConfiguration nodeConfig = GridNodeConfiguration.loadFromJSON(nodeConfigPath);
        nodeConfig.capabilities = capabilitiesList;
        nodeConfig.hub = hubUrl.toString();
        try (OutputStream out = new BufferedOutputStream(new FileOutputStream(filePath.toFile()))) {
            out.write(new Json().toJson(nodeConfig).getBytes(StandardCharsets.UTF_8));
        }
    }
    return filePath;
}
 
源代码3 项目: neodymium-library   文件: BrowserStatementTest.java
private void checkTestEnvironment(BrowserConfiguration config)
{
    Assert.assertNotNull(config);
    Assert.assertEquals("testEnvironmentFlags", config.getConfigTag());
    Assert.assertEquals("Test Environment Browser", config.getName());
    MutableCapabilities testCapabilities = config.getCapabilities();
    Assert.assertEquals("chrome", testCapabilities.getBrowserName());
    Assert.assertEquals(1234, testCapabilities.getCapability("idleTimeout"));
    Assert.assertEquals(1234, testCapabilities.getCapability("idletimeout"));
    Assert.assertEquals(5678, testCapabilities.getCapability("maxDuration"));
    Assert.assertEquals(5678, testCapabilities.getCapability("maxduration"));
    Assert.assertEquals("3.1234", testCapabilities.getCapability("seleniumVersion"));
    Assert.assertEquals("3.1234", testCapabilities.getCapability("selenium-version"));
    Assert.assertEquals("800x600", testCapabilities.getCapability("screenResolution"));
    Assert.assertEquals("800x600", testCapabilities.getCapability("screen-resolution"));
    Assert.assertEquals(Platform.VISTA, testCapabilities.getCapability("platform"));
    Assert.assertEquals("Windows 10", testCapabilities.getCapability("platformName"));
    Assert.assertEquals("MyDevice", testCapabilities.getCapability("deviceName"));
    Assert.assertEquals("portrait", testCapabilities.getCapability("deviceOrientation"));
    Assert.assertEquals("landscape", testCapabilities.getCapability("orientation"));
}
 
源代码4 项目: selenium-jupiter   文件: DockerDriverHandler.java
private DesiredCapabilities getCapabilitiesForAndroid(
        BrowserInstance browserInstance, String deviceNameCapability)
        throws IllegalAccessException, IOException {
    DesiredCapabilities capabilities = browserInstance.getCapabilities();
    capabilities.setCapability("browserName", browserName);
    capabilities.setCapability("deviceName", deviceNameCapability);

    Optional<Capabilities> optionalCapabilities = annotationsReader != null
            ? annotationsReader.getCapabilities(parameter, testInstance)
            : Optional.of(new DesiredCapabilities());
    MutableCapabilities options = browserInstance.getDriverHandler()
            .getOptions(parameter, testInstance);

    if (optionalCapabilities.isPresent()) {
        options.merge(optionalCapabilities.get());
    }
    capabilities.setCapability(CAPABILITY, options);
    log.trace("Using {}", capabilities);
    return capabilities;
}
 
源代码5 项目: akita   文件: CustomDriverProvider.java
/**
 * Задает capabilities для запуска Remote драйвера для Selenoid
 *
 * @param capabilities - capabilities для установленного браузера
 * @param remoteUrl    - url для запуска тестов, например http://remoteIP:4444/wd/hub
 * @return WebDriver
 */
private WebDriver getRemoteDriver(MutableCapabilities capabilities, String remoteUrl) {
    log.info("---------------run Remote Driver---------------------");
    Boolean isSelenoidRun = loadSystemPropertyOrDefault(SELENOID, true);
    if (isSelenoidRun) {
        capabilities.setCapability("enableVNC", true);
        capabilities.setCapability("screenResolution", String.format("%sx%s", loadSystemPropertyOrDefault(WINDOW_WIDTH, DEFAULT_WIDTH),
                loadSystemPropertyOrDefault(WINDOW_HEIGHT, DEFAULT_HEIGHT)));
        String sessionName = loadSystemPropertyOrDefault(SELENOID_SESSION_NAME, "");
        if (!sessionName.isEmpty()) {
            capabilities.setCapability("name", String.format("%s %s", sessionName, AkitaScenario.getInstance().getScenario().getName()));
        }
    }
    try {
        RemoteWebDriver remoteWebDriver = new RemoteWebDriver(
            URI.create(remoteUrl).toURL(),
            capabilities
        );
        remoteWebDriver.setFileDetector(new LocalFileDetector());
        return remoteWebDriver;
    } catch (MalformedURLException e) {
        throw new RuntimeException(e);
    }
}
 
源代码6 项目: Quantum   文件: CloudUtils.java
public static MutableCapabilities getDeviceProperties(MutableCapabilities desiredCapabilities) {

		if (!ConfigurationUtils.isDevice(desiredCapabilities))
			return desiredCapabilities;

		DeviceResult device = null;
		try {
			device = getHttpClient().deviceInfo(desiredCapabilities.getCapability("deviceName").toString(), false);
		} catch (HttpClientException e) {
			e.printStackTrace();
		}

		for (DeviceParameter parameter : DeviceParameter.values()) {
			String paramValue = device.getResponseValue(parameter);
			String capName = CaseFormat.UPPER_UNDERSCORE.to(CaseFormat.LOWER_CAMEL, parameter.toString().toLowerCase());
			if (!StringUtils.isEmpty(paramValue))
				desiredCapabilities.setCapability(capName, paramValue);
		}

		return desiredCapabilities;
	}
 
源代码7 项目: selenium   文件: FirefoxOptionsTest.java
@Test
public void canConvertOptionsWithPrefsToCapabilitiesAndRestoreBack() {
  FirefoxOptions options = new FirefoxOptions(
      new MutableCapabilities(new FirefoxOptions()
                                  .addPreference("string.pref", "some value")
                                  .addPreference("int.pref", 42)
                                  .addPreference("boolean.pref", true)));
  Object options2 = options.asMap().get(FirefoxOptions.FIREFOX_OPTIONS);
  assertThat(options2)
      .asInstanceOf(InstanceOfAssertFactories.MAP)
      .extractingByKey("prefs")
      .asInstanceOf(InstanceOfAssertFactories.MAP)
      .containsEntry("string.pref", "some value")
      .containsEntry("int.pref", 42)
      .containsEntry("boolean.pref", true);
}
 
源代码8 项目: selenium   文件: JsonOutputTest.java
@Test
public void shouldConvertAProxyCorrectly() {
  Proxy proxy = new Proxy();
  proxy.setHttpProxy("localhost:4444");

  MutableCapabilities caps = new DesiredCapabilities("foo", "1", Platform.LINUX);
  caps.setCapability(CapabilityType.PROXY, proxy);
  Map<String, ?> asMap = ImmutableMap.of("desiredCapabilities", caps);
  Command command = new Command(new SessionId("empty"), DriverCommand.NEW_SESSION, asMap);

  String json = convert(command.getParameters());

  JsonObject converted = new JsonParser().parse(json).getAsJsonObject();
  JsonObject capsAsMap = converted.get("desiredCapabilities").getAsJsonObject();

  assertThat(capsAsMap.get(CapabilityType.PROXY).getAsJsonObject().get("httpProxy").getAsString())
      .isEqualTo(proxy.getHttpProxy());
}
 
源代码9 项目: selenium   文件: WebDriverWaitTest.java
@Test
public void shouldIncludeRemoteInfoForWrappedDriverTimeout() throws IOException {
  Capabilities caps = new MutableCapabilities();
  Response response = new Response(new SessionId("foo"));
  response.setValue(caps.asMap());
  CommandExecutor executor = mock(CommandExecutor.class);
  when(executor.execute(any(Command.class))).thenReturn(response);

  RemoteWebDriver driver = new RemoteWebDriver(executor, caps);
  WebDriver testDriver = mock(WebDriver.class, withSettings().extraInterfaces(WrapsDriver.class));
  when(((WrapsDriver) testDriver).getWrappedDriver()).thenReturn(driver);

  TickingClock clock = new TickingClock();
  WebDriverWait wait =
      new WebDriverWait(testDriver, Duration.ofSeconds(1), Duration.ofMillis(200), clock, clock);

  assertThatExceptionOfType(TimeoutException.class)
      .isThrownBy(() -> wait.until(d -> false))
      .withMessageContaining("Capabilities {javascriptEnabled: true, platform: ANY, platformName: ANY}")
      .withMessageContaining("Session ID: foo");
}
 
源代码10 项目: selenium   文件: InternalSelenseTestBase.java
@Override
protected void before() {
  selenium = INSTANCE;
  if (selenium != null) {
    return;
  }

  MutableCapabilities caps = new MutableCapabilities(createCapabilities());
  caps.setCapability(UNEXPECTED_ALERT_BEHAVIOUR, IGNORE);

  String baseUrl = whereIs("/common/rc/tests/html/");

  WebDriver driver = new WebDriverBuilder().get(caps);
  selenium = new WebDriverBackedSelenium(driver, baseUrl);

  selenium.setBrowserLogLevel("debug");
  INSTANCE = selenium;
}
 
源代码11 项目: coteafs-selenium   文件: Browser.java
private static WebDriver createRemoteSession(final RemoteSetting remoteSetting, final MutableCapabilities caps) {
    LOG.i("Creating remote session...");
    final StringBuilder urlBuilder = new StringBuilder(remoteSetting.getProtocol()
            .getPrefix());
    final String url = remoteSetting.getUrl();
    if (remoteSetting.getSource() != RemoteSource.GRID) {
        final String user = remoteSetting.getUserId();
        final String pass = remoteSetting.getPassword();
        if (isNotEmpty(user)) {
            urlBuilder.append(user)
                    .append(":")
                    .append(requireNonNull(pass, "Cloud Password cannot be empty."))
                    .append("@");
        }
    }
    urlBuilder.append(url);
    final int port = remoteSetting.getPort();
    if (port > 0) {
        urlBuilder.append(":")
                .append(port);
    }
    urlBuilder.append("/wd/hub");
    try {
        final URL remoteUrl = new URL(urlBuilder.toString());
        return new RemoteWebDriver(remoteUrl, caps);
    } catch (final MalformedURLException e) {
        LOG.e("Error occurred while creating remote session: ", e);
    }
    return null;
}
 
源代码12 项目: demo-java   文件: BaseWebDriverTest.java
private void createSauceDriver(MutableCapabilities capabilities, String methodName) {
    String username = System.getenv("SAUCE_USERNAME");
    String accesskey = System.getenv("SAUCE_ACCESS_KEY");

    //Create a map of capabilities called "sauce:options", which contain the info necessary to run on Sauce
    // Labs, using the credentials stored in the environment variables. Also runs using the new W3C standard.
    MutableCapabilities sauceOptions = new MutableCapabilities();
    sauceOptions.setCapability("username", username);
    sauceOptions.setCapability("accessKey", accesskey);
    sauceOptions.setCapability("seleniumVersion", "3.141.59");
    sauceOptions.setCapability("name", methodName);
    sauceOptions.setCapability("build", "parallel-TestNG-single-browser-demo");

    //Assign the Sauce Options to the base capabilities
    capabilities.setCapability("sauce:options", sauceOptions);

    //Create a new RemoteWebDriver, which will initialize the test execution on Sauce Labs servers
    String SAUCE_REMOTE_URL = "https://ondemand.saucelabs.com/wd/hub";
    try {
        webDriver.set(new RemoteWebDriver(new URL(SAUCE_REMOTE_URL), capabilities));
    } catch (MalformedURLException e) {
        throw new RuntimeException(e);
    }
    sessionId.set(((RemoteWebDriver)webDriver.get()).getSessionId().toString());

    // set current sessionId
    String id = ((RemoteWebDriver) getWebDriver()).getSessionId().toString();
    sessionId.set(id);
}
 
源代码13 项目: demo-java   文件: BaseWebDriverTest.java
private void createSauceDriver(MutableCapabilities capabilities, String methodName) {
    String username = System.getenv("SAUCE_USERNAME");
    String accesskey = System.getenv("SAUCE_ACCESS_KEY");

    //Create a map of capabilities called "sauce:options", which contain the info necessary to run on Sauce
    // Labs, using the credentials stored in the environment variables. Also runs using the new W3C standard.
    MutableCapabilities sauceOptions = new MutableCapabilities();
    sauceOptions.setCapability("username", username);
    sauceOptions.setCapability("accessKey", accesskey);
    sauceOptions.setCapability("seleniumVersion", "3.141.59");
    sauceOptions.setCapability("name", methodName);
    sauceOptions.setCapability("build", "parallel-TestNG-cross-browser-and-platform-demo");

    //Assign the Sauce Options to the base capabilities
    capabilities.setCapability("sauce:options", sauceOptions);

    //Create a new RemoteWebDriver, which will initialize the test execution on Sauce Labs servers
    String SAUCE_REMOTE_URL = "https://ondemand.saucelabs.com/wd/hub";
    try {
        webDriver.set(new RemoteWebDriver(new URL(SAUCE_REMOTE_URL), capabilities));
    } catch (MalformedURLException e) {
        throw new RuntimeException(e);
    }
    sessionId.set(((RemoteWebDriver)webDriver.get()).getSessionId().toString());

    // set current sessionId
    String id = ((RemoteWebDriver) getWebDriver()).getSessionId().toString();
    sessionId.set(id);
}
 
源代码14 项目: demo-java   文件: TestBase.java
/**
 * Constructs a new {@link AndroidDriver} instance which is configured to use the capabilities defined by the browser,
 * version and os parameters, and which is configured to run against ondemand.saucelabs.com, using
 * the username and access key populated by the {@link #authentication} instance.
 *
 * @param platformName      name of the platformName. (Android, iOS, etc.)
 * @param deviceName        name of the device
 * @param platformVersion   Os version of the device
 * @param appiumVersion     appium version
 * @param deviceOrientation device orientation
 * @return
 * @throws MalformedURLException if an error occurs parsing the url
 */
protected void createDriver(
        String platformName,
        String deviceName,
        String platformVersion,
        String appiumVersion,
        String deviceOrientation,
        String methodName)
        throws MalformedURLException, UnexpectedException {
    MutableCapabilities capabilities = new MutableCapabilities();
    capabilities.setCapability("platformName", platformName);
    capabilities.setCapability("platformVersion", platformVersion);
    capabilities.setCapability("deviceName", deviceName);
    capabilities.setCapability("browserName", "");
    capabilities.setCapability("deviceOrientation", deviceOrientation);
    capabilities.setCapability("appiumVersion", appiumVersion);
    capabilities.setCapability("name", methodName);
    capabilities.setCapability("app", app);
    capabilities.setCapability("build", "Java-TestNG-Appium-Android");

    if (buildTag != null) {
        capabilities.setCapability("build", buildTag);
    }

    // Launch remote browser and set it as the current thread
    androidDriver.set(new AndroidDriver(
            new URL("https://" + authentication.getUsername() + ":" + authentication.getAccessKey() + seleniumURI + "/wd/hub"),
            capabilities));

    String id = ((RemoteWebDriver) getAndroidDriver()).getSessionId().toString();
    sessionId.set(id);
}
 
源代码15 项目: demo-java   文件: TestBase.java
/**
 * Constructs a new {@link IOSDriver} instance which is configured to use the capabilities defined by the browser,
 * version and os parameters, and which is configured to run against ondemand.saucelabs.com, using
 * the username and access key populated by the {@link #authentication} instance.
 *
 * @param platformName      name of the platformName. (Android, iOS, etc.)
 * @param deviceName        name of the device
 * @param platformVersion   Os version of the device
 * @param appiumVersion     appium version
 * @param deviceOrientation device orientation
 * @return
 * @throws MalformedURLException if an error occurs parsing the url
 */
protected void createDriver(
        String platformName,
        String deviceName,
        String platformVersion,
        String appiumVersion,
        String deviceOrientation,
        String methodName)
        throws MalformedURLException, UnexpectedException {
    MutableCapabilities capabilities = new MutableCapabilities();
    capabilities.setCapability("platformName", platformName);
    capabilities.setCapability("platformVersion", platformVersion);
    capabilities.setCapability("deviceName", deviceName);
    capabilities.setCapability("browserName", "");
    capabilities.setCapability("deviceOrientation", deviceOrientation);
    capabilities.setCapability("appiumVersion", appiumVersion);
    capabilities.setCapability("name", methodName);
    capabilities.setCapability("build","Java-TestNG-Appium-iOS");
    capabilities.setCapability("app", app);

    if (buildTag != null) {
        capabilities.setCapability("build", buildTag);
    }

    // Launch remote browser and set it as the current thread
    iosDriver.set(new IOSDriver(
            new URL("https://" + authentication.getUsername() + ":" + authentication.getAccessKey() + seleniumURI +"/wd/hub"),
            capabilities));

    String id = ((RemoteWebDriver) getiosDriver()).getSessionId().toString();
    sessionId.set(id);
}
 
源代码16 项目: demo-java   文件: SampleHeadlessSauceTest.java
@Test
public void main() throws MalformedURLException {
    String sauceUserName = System.getenv("SAUCE_USERNAME");
    String sauceAccessKey = System.getenv("SAUCE_ACCESS_KEY");
    String URL = "https://ondemand.us-east-1.saucelabs.com/wd/hub";

    ChromeOptions chromeOpts = new ChromeOptions();
    chromeOpts.setExperimentalOption("w3c", true);

    MutableCapabilities sauceOptions = new MutableCapabilities();
    sauceOptions.setCapability("username", sauceUserName);
    sauceOptions.setCapability("accessKey", sauceAccessKey);
    sauceOptions.setCapability("seleniumVersion", "3.141.59");
    sauceOptions.setCapability("name", "headless-chrome-test-java");
    sauceOptions.setCapability("build", "Sample Headless Tests");

    MutableCapabilities caps = new MutableCapabilities();
    caps.setCapability("goog:chromeOptions", chromeOpts);
    caps.setCapability("browserName", "chrome");
    caps.setCapability("browserVersion", "latest");
    caps.setCapability("platformName", "Linux");
    caps.setCapability("sauce:options", sauceOptions);

    driver = new RemoteWebDriver(new URL(URL), caps);

    /* Goes to Sauce Lab's demo page and prints title */

    driver.get("https://www.saucedemo.com");
    System.out.println("title of page is: " + driver.getTitle());
    Assert.assertEquals(driver.getTitle(), "Swag Labs" );
}
 
源代码17 项目: demo-java   文件: CrossBrowserTest.java
private void createSauceDriver(MutableCapabilities capabilities, String methodName) {
    String username = System.getenv("SAUCE_USERNAME");
    String accesskey = System.getenv("SAUCE_ACCESS_KEY");

    //Create a map of capabilities called "sauce:options", which contain the info necessary to run on Sauce
    // Labs, using the credentials stored in the environment variables. Also runs using the new W3C standard.
    MutableCapabilities sauceOptions = new MutableCapabilities();
    sauceOptions.setCapability("username", username);
    sauceOptions.setCapability("accessKey", accesskey);
    sauceOptions.setCapability("seleniumVersion", "3.141.59");
    sauceOptions.setCapability("name", methodName);
    sauceOptions.setCapability("build", "Sample Headless Tests");

    //Assign the Sauce Options to the base capabilities
    capabilities.setCapability("sauce:options", sauceOptions);

    //Create a new RemoteWebDriver, which will initialize the test execution on Sauce Labs servers
    String SAUCE_REMOTE_URL = "https://ondemand.us-east-1.saucelabs.com/wd/hub";
    try {
        webDriver.set(new RemoteWebDriver(new URL(SAUCE_REMOTE_URL), capabilities));
    } catch (MalformedURLException e) {
        throw new RuntimeException(e);
    }
    sessionId.set(((RemoteWebDriver)webDriver.get()).getSessionId().toString());

    // set current sessionId
    String id = ((RemoteWebDriver) getWebDriver()).getSessionId().toString();
    sessionId.set(id);
}
 
源代码18 项目: teasy   文件: SafariTechPreviewCaps.java
public MutableCapabilities get() {
    DesiredCapabilities safariCaps = DesiredCapabilities.safari();
    SafariOptions options = new SafariOptions();
    options.setUseTechnologyPreview(true);
    safariCaps.setCapability(SafariOptions.CAPABILITY, options);
    setLoggingPrefs(safariCaps);
    if (!this.customCaps.asMap().isEmpty()) {
        safariCaps.merge(this.customCaps);
    }
    return safariCaps;
}
 
源代码19 项目: NoraUi   文件: DriverFactory.java
/**
 * Sets the logging level of the generated web driver.
 *
 * @param caps
 *            The web driver's MutableCapabilities (FirefoxOptions)
 * @param level
 *            The logging level
 */
private void setLoggingLevel(MutableCapabilities caps) {
    final LoggingPreferences logPrefs = new LoggingPreferences();
    logPrefs.enable(LogType.BROWSER, Level.ALL);
    logPrefs.enable(LogType.CLIENT, Level.OFF);
    logPrefs.enable(LogType.DRIVER, Level.OFF);
    logPrefs.enable(LogType.PERFORMANCE, Level.OFF);
    logPrefs.enable(LogType.PROFILER, Level.OFF);
    logPrefs.enable(LogType.SERVER, Level.OFF);
    caps.setCapability(CapabilityType.LOGGING_PREFS, logPrefs);
}
 
源代码20 项目: neodymium-library   文件: BrowserStatementTest.java
private void checkChrome(BrowserConfiguration config)
{
    Assert.assertNotNull(config);
    Assert.assertEquals("chrome", config.getConfigTag());
    Assert.assertEquals("Google Chrome", config.getName());
    Assert.assertEquals("local", config.getTestEnvironment());
    MutableCapabilities testCapabilities = config.getCapabilities();
    Assert.assertEquals("chrome", testCapabilities.getBrowserName());
    Assert.assertEquals(true, testCapabilities.getCapability(CapabilityType.ACCEPT_INSECURE_CERTS));
    LinkedList<String> list = new LinkedList<>();
    list.add("headless");
    Assert.assertEquals(list, config.getArguments());
}
 
源代码21 项目: neodymium-library   文件: BrowserStatementTest.java
private void checkMultiChrome(BrowserConfiguration config)
{
    Assert.assertNotNull(config);
    Assert.assertEquals("multiChrome", config.getConfigTag());
    Assert.assertEquals("Multi Argument Chrome", config.getName());
    MutableCapabilities testCapabilities = config.getCapabilities();
    Assert.assertEquals("chrome", testCapabilities.getBrowserName());
    LinkedList<String> list = new LinkedList<>();
    list.add("-crash-test");
    list.add("-window-position=0,0");
    list.add("-window-size=1024,768");
    Assert.assertEquals(list, config.getArguments());
}
 
源代码22 项目: neodymium-library   文件: BrowserStatementTest.java
private void checkFirefox(BrowserConfiguration config)
{
    Assert.assertNotNull(config);
    Assert.assertEquals("firefox", config.getConfigTag());
    Assert.assertEquals("Mozilla Firefox", config.getName());
    Assert.assertEquals(null, config.getTestEnvironment());
    MutableCapabilities testCapabilities = config.getCapabilities();
    Assert.assertEquals("firefox", testCapabilities.getBrowserName());
    LinkedList<String> list = new LinkedList<>();
    list.add("headless");
    Assert.assertEquals(list, config.getArguments());
}
 
源代码23 项目: neodymium-library   文件: BrowserStatementTest.java
private void checkMultiFirefox(BrowserConfiguration config)
{
    Assert.assertNotNull(config);
    Assert.assertEquals("multiFirefox", config.getConfigTag());
    Assert.assertEquals("Multi Argument Firefox", config.getName());
    MutableCapabilities testCapabilities = config.getCapabilities();
    Assert.assertEquals("firefox", testCapabilities.getBrowserName());
    LinkedList<String> list = new LinkedList<>();
    list.add("-headless");
    list.add("-width=1024");
    list.add("-height=768");
    Assert.assertEquals(list, config.getArguments());
}
 
源代码24 项目: selenium-jupiter   文件: ChromeDriverHandler.java
@Override
public MutableCapabilities getOptions(Parameter parameter,
        Optional<Object> testInstance)
        throws IOException, IllegalAccessException {
    ChromeOptions chromeOptions = new ChromeOptions();

    if (parameter != null) {
        // @Arguments
        Arguments arguments = parameter.getAnnotation(Arguments.class);
        if (arguments != null) {
            stream(arguments.value()).forEach(chromeOptions::addArguments);
        }

        // @Extensions
        Extensions extensions = parameter.getAnnotation(Extensions.class);
        if (extensions != null) {
            for (String extension : extensions.value()) {
                chromeOptions.addExtensions(getExtension(extension));
            }
        }

        // @Binary
        Binary binary = parameter.getAnnotation(Binary.class);
        if (binary != null) {
            chromeOptions.setBinary(binary.value());
        }

        // @Options
        ChromeOptions optionsFromAnnotatedField = annotationsReader
                .getFromAnnotatedField(testInstance, Options.class,
                        ChromeOptions.class);
        if (optionsFromAnnotatedField != null) {
            chromeOptions = optionsFromAnnotatedField.merge(chromeOptions);
        }
    }

    return chromeOptions;
}
 
源代码25 项目: selenium-jupiter   文件: EdgeDriverHandler.java
@Override
public MutableCapabilities getOptions(Parameter parameter,
        Optional<Object> testInstance)
        throws IOException, IllegalAccessException {
    EdgeOptions edgeOptions = new EdgeOptions();
    EdgeOptions optionsFromAnnotatedField = annotationsReader
            .getFromAnnotatedField(testInstance, Options.class,
                    EdgeOptions.class);
    if (optionsFromAnnotatedField != null) {
        edgeOptions = optionsFromAnnotatedField;
    }
    return edgeOptions;
}
 
源代码26 项目: selenium-jupiter   文件: SafariDriverHandler.java
@Override
public MutableCapabilities getOptions(Parameter parameter,
        Optional<Object> testInstance) throws IllegalAccessException {
    SafariOptions safariOptions = new SafariOptions();
    SafariOptions optionsFromAnnotatedField = annotationsReader
            .getFromAnnotatedField(testInstance, Options.class,
                    SafariOptions.class);
    if (optionsFromAnnotatedField != null) {
        safariOptions = optionsFromAnnotatedField;
    }
    return safariOptions;
}
 
@Override
public MutableCapabilities getOptions(Parameter parameter,
        Optional<Object> testInstance)
        throws IOException, IllegalAccessException {
    InternetExplorerOptions internetExplorerOptions = new InternetExplorerOptions();
    InternetExplorerOptions optionsFromAnnotatedField = annotationsReader
            .getFromAnnotatedField(testInstance, Options.class,
                    InternetExplorerOptions.class);
    if (optionsFromAnnotatedField != null) {
        internetExplorerOptions = optionsFromAnnotatedField;
    }
    return internetExplorerOptions;
}
 
源代码28 项目: selenium-jupiter   文件: OperaDriverHandler.java
@Override
public MutableCapabilities getOptions(Parameter parameter,
        Optional<Object> testInstance)
        throws IOException, IllegalAccessException {
    OperaOptions operaOptions = new OperaOptions();

    if (parameter != null) {
        // @Arguments
        Arguments arguments = parameter.getAnnotation(Arguments.class);
        if (arguments != null) {
            stream(arguments.value()).forEach(operaOptions::addArguments);
        }

        // @Extensions
        Extensions extensions = parameter.getAnnotation(Extensions.class);
        if (extensions != null) {
            for (String extension : extensions.value()) {
                operaOptions.addExtensions(getExtension(extension));
            }
        }

        // @Binary
        Binary binary = parameter.getAnnotation(Binary.class);
        if (binary != null) {
            operaOptions.setBinary(binary.value());
        }

        // @Options
        OperaOptions optionsFromAnnotatedField = annotationsReader
                .getFromAnnotatedField(testInstance, Options.class,
                        OperaOptions.class);
        if (optionsFromAnnotatedField != null) {
            operaOptions = optionsFromAnnotatedField.merge(operaOptions);
        }
    }

    return operaOptions;
}
 
源代码29 项目: restful-booker-platform   文件: DriverFactory.java
private WebDriver prepareRemoteDriver(){
    if(System.getenv("SAUCE_USERNAME") == null){
        throw new RuntimeException("To use remote driver a Sauce lab account is required. Please assign your Sauce labs account name to the environmental variable 'sauce_username'");
    }

    if(System.getenv("SAUCE_ACCESS_KEY") == null){
        throw new RuntimeException("To use remote driver a Sauce lab account is required. Please assign your Sauce labs access key to the environmental variable 'sauce_access_key'");
    }

    String URL = "http://" + System.getenv("SAUCE_USERNAME") + ":" + System.getenv("SAUCE_ACCESS_KEY") + "@ondemand.saucelabs.com:80/wd/hub";

    FirefoxOptions firefoxOptions = new FirefoxOptions();

    firefoxOptions.setCapability("platformName", "Windows 10");
    firefoxOptions.setCapability("browserVersion", "65.0");

    MutableCapabilities sauceCaps = new MutableCapabilities();
    sauceCaps.setCapability("username", System.getenv("SAUCE_USERNAME"));
    sauceCaps.setCapability("accessKey", System.getenv("SAUCE_ACCESS_KEY"));
    sauceCaps.setCapability("seleniumVersion", "3.141.59");
    sauceCaps.setCapability("name", "Restful-booker-platform");
    firefoxOptions.setCapability("sauce:options", sauceCaps);

    try {
        return new RemoteWebDriver(new URL(URL), firefoxOptions);
    } catch (MalformedURLException e) {
        throw new RuntimeException("WARN: An error occurred attempting to create a remote driver connection. See the following error: " + e);
    }
}
 
源代码30 项目: zap-extensions   文件: ExtensionSelenium.java
private static void setCommonOptions(
        MutableCapabilities capabilities, String proxyAddress, int proxyPort) {
    capabilities.setCapability(CapabilityType.ACCEPT_SSL_CERTS, true);
    // W3C capability
    capabilities.setCapability(CapabilityType.ACCEPT_INSECURE_CERTS, true);

    if (proxyAddress != null) {
        String httpProxy = proxyAddress + ":" + proxyPort;
        Proxy proxy = new Proxy();
        proxy.setHttpProxy(httpProxy);
        proxy.setSslProxy(httpProxy);
        capabilities.setCapability(CapabilityType.PROXY, proxy);
    }
}
 
 类所在包
 类方法
 同包方法