org.junit.jupiter.api.condition.EnabledOnOs#org.openqa.selenium.safari.SafariOptions源码实例Demo

下面列出了org.junit.jupiter.api.condition.EnabledOnOs#org.openqa.selenium.safari.SafariOptions 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。

源代码1 项目: selenium-jupiter   文件: SafariDriverHandler.java
@Override
public void resolve() {
    try {
        Optional<Object> testInstance = context.getTestInstance();
        Optional<Capabilities> capabilities = annotationsReader
                .getCapabilities(parameter, testInstance);
        SafariOptions safariOptions = (SafariOptions) getOptions(parameter,
                testInstance);
        if (capabilities.isPresent()) {
            safariOptions.merge(capabilities.get());
        }
        object = new SafariDriver(safariOptions);
    } catch (Exception e) {
        handleException(e);
    }
}
 
源代码2 项目: vividus   文件: WebDriverTypeTests.java
@Test
@PrepareForTest(fullyQualifiedNames = "org.vividus.selenium.WebDriverType$4")
public void testGetSafariWebDriver() throws Exception
{
    DesiredCapabilities desiredCapabilities = new DesiredCapabilities();
    SafariDriver expected = mock(SafariDriver.class);
    whenNew(SafariDriver.class).withParameterTypes(SafariOptions.class)
            .withArguments(SafariOptions.fromCapabilities(desiredCapabilities)).thenReturn(expected);
    WebDriver actual = WebDriverType.SAFARI.getWebDriver(desiredCapabilities, new WebDriverConfiguration());
    assertEquals(expected, actual);
}
 
源代码3 项目: coteafs-selenium   文件: Browser.java
private static WebDriver setupSafariDriver() {
    LOG.i("Setting up Safari driver...");
    if (!OS.isMac()) {
        Assert.fail("Safari is not supported.");
    }
    if (appSetting().isHeadlessMode()) {
        LOG.w("Safari does not support Headless mode. Hence, ignoring the same...");
    }
    final SafariOptions options = new SafariOptions();
    return new SafariDriver(options);
}
 
源代码4 项目: QVisual   文件: WebDriverCapabilities.java
/**
 * Download https://developer.apple.com/safari/download/ and activate menu Develop with enable Allow Remote Automation
 */
private void setupSafari() {
    SafariOptions safariOptions = new SafariOptions();
    safariOptions.setUseTechnologyPreview(true);

    capabilities.merge(safariOptions);
}
 
源代码5 项目: 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;
}
 
源代码6 项目: neodymium-library   文件: SetProxyForWebDriver.java
@Test
public void testSafari()
{
    DesiredCapabilities capabilities = createCapabilitiesWithProxy();
    SafariOptions options = new SafariOptions();
    options.merge(capabilities);

    Assert.assertTrue(options.getCapability(CapabilityType.PROXY) != null);
}
 
源代码7 项目: 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;
}
 
@ParameterizedTest
@MethodSource("testClassProvider")
void testSafariOptions(Class<?> testClass) throws Exception {
    Parameter parameter = testClass
            .getMethod("safariTest", SafariDriver.class).getParameters()[0];
    Optional<Object> testInstance = Optional.of(testClass.newInstance());
    SafariOptions safariOptions = (SafariOptions) annotationsReader
            .getOptions(parameter, testInstance);

    assertFalse(safariOptions.getUseTechnologyPreview());
}
 
@Test
void testAnnotatedSafariOptionsIsSelectedOverOtherAnnotatedOptions()
        throws Exception {
    Optional<Object> testInstance = Optional
            .of(new ClassWithMultipleOptions());
    SafariOptions safariOptions = (SafariOptions) annotationsReader
            .getOptions(null, testInstance);
    assertThat(safariOptions, notNullValue());
}
 
源代码10 项目: SWET   文件: BrowserDriver.java
private static DesiredCapabilities capabilitiesSafari() {
	DesiredCapabilities capabilities = DesiredCapabilities.safari();
	SafariOptions options = new SafariOptions();
	// TODO: need to conditionally compile:
	// With Selenium 3.13.x
	// setUseCleanSession
	// no longer not exist in org.openqa.selenium.safari.SafariOptions
	// options.setUseCleanSession(true);
	capabilities.setCapability(SafariOptions.CAPABILITY, options);
	return capabilities;
}
 
源代码11 项目: akita   文件: CustomDriverProvider.java
/**
 * Задает options для запуска Safari драйвера
 * options можно передавать, как системную переменную, например -Doptions=--load-extension=my-custom-extension
 *
 * @return SafariOptions
 */
private SafariOptions getSafariDriverOptions(DesiredCapabilities capabilities) {
    log.info("---------------Safari Driver---------------------");
    SafariOptions safariOptions = new SafariOptions();
    safariOptions.setCapability(CapabilityType.BROWSER_VERSION, loadSystemPropertyOrDefault(CapabilityType.BROWSER_VERSION, VERSION_LATEST));
    safariOptions.merge(capabilities);
    return safariOptions;
}
 
@Test
@EnabledOnOs(OS.MAC)
@DisabledIfEnvironmentVariable(named = "CI", matches = "true")
void canInstantiateSafariDriverWithSafariOptions() {
  driver = provider.createDriver(new SafariOptions());
  assertTrue(driver instanceof SafariDriver);
}
 
源代码13 项目: frameworkium-core   文件: SafariImpl.java
@Override
public SafariOptions getCapabilities() {
    if (Driver.isMobile()) {
        return new SafariOptions();
    } else {
        SafariOptions safariOptions = new SafariOptions();
        safariOptions.setCapability("safari.cleanSession", true);
        return safariOptions;
    }
}
 
源代码14 项目: frameworkium-core   文件: SafariImpl.java
@Override
public WebDriver getWebDriver(Capabilities capabilities) {
    if (Driver.isMobile()) {
        throw new IllegalArgumentException(
                "seleniumGridURL or sauceUser and sauceKey must be specified when running on iOS");
    } else {
        return new SafariDriver(new SafariOptions(capabilities));
    }
}
 
源代码15 项目: selenium   文件: InternalSelenseTestBase.java
private Capabilities createCapabilities() {
  String property = System.getProperty("selenium.browser", "ff");

  Browser browser = Browser.detect();
  switch (browser) {
    case CHROME:
      return new ChromeOptions();

    case EDGE:
      return new EdgeHtmlOptions();

    case CHROMIUMEDGE:
      return new EdgeOptions();

    case IE:
      return new InternetExplorerOptions();

    case FIREFOX:
    case MARIONETTE:
      return new FirefoxOptions();

    case OPERA:
    case OPERABLINK:
      return new OperaOptions();

    case SAFARI:
      return new SafariOptions();

    default:
      fail("Attempt to use an unsupported browser: " + property);
      // we never get here, but keep null checks happy anyway
      return new DesiredCapabilities();
  }
}
 
源代码16 项目: aquality-selenium-java   文件: SafariSettings.java
@Override
public SafariOptions getCapabilities() {
    SafariOptions safariOptions = new SafariOptions();
    setCapabilities(safariOptions);
    return safariOptions;
}
 
源代码17 项目: teasy   文件: MacSafariCaps.java
@Override
public MutableCapabilities get() {
    return new SafariOptions().merge(customCaps);
}
 
源代码18 项目: KITE   文件: WebDriverFactory.java
/**
   * Build capabilities for client web driver
   *
   * @param client the Client object
   * @return capabilities appium driver
   */
  private static MutableCapabilities buildBrowserCapabilities(Client client) {
    MutableCapabilities capabilities = new MutableCapabilities();
    BrowserSpecs specs = client.getBrowserSpecs();
    if (specs.getVersion() != null) {
      capabilities.setCapability(CapabilityType.VERSION, specs.getVersion());
    }
    if (specs.getPlatform() != null) {
      capabilities.setCapability(CapabilityType.PLATFORM_NAME, specs.getPlatform());
    }

//    if (client.getCapability().getGateway().toString() != null && !"none".equalsIgnoreCase(client.getCapability().getGateway().toString())) {
//      capabilities.setCapability("gateway", client.getCapability().getGateway().toString());
//    }

    // Only consider next code block if this is a client.
    switch (specs.getBrowserName()) {
      case "chrome":
        capabilities.setCapability(ChromeOptions.CAPABILITY, setCommonChromeOptions(client.getCapability(), specs));
        break;
      case "firefox":
        capabilities.merge(setCommonFirefoxOptions(client.getCapability(), specs));
        break;
      case "MicrosoftEdge":
        EdgeOptions MicrosoftEdgeOptions = new EdgeOptions();
        capabilities.setCapability("edgeOptions", MicrosoftEdgeOptions);
        capabilities.setCapability("avoidProxy", true);
        break;
      case "safari":
        SafariOptions options = new SafariOptions();
        options.setUseTechnologyPreview(client.getCapability().isTechnologyPreview());
        capabilities.setCapability(SafariOptions.CAPABILITY, options);
        break;
      default:
        capabilities.setCapability(CapabilityType.BROWSER_NAME, specs.getBrowserName());
        break;
    }
    // Add log preference to webdriver
    // TODO put log preference into config file
    LoggingPreferences logPrefs = new LoggingPreferences();
    logPrefs.enable(LogType.BROWSER, Level.ALL);
    capabilities.setCapability(CapabilityType.LOGGING_PREFS, logPrefs);
//    capabilities.setCapability("goog:loggingPrefs", logPrefs);
    // Capabilities for mobile client/app
    if (specs.getPlatform().toString().equalsIgnoreCase("android")
      ||specs.getPlatform().toString().equalsIgnoreCase("ios")) {
      // deviceName:
      // On iOS, this should be one of the valid devices returned by instruments with instruments -s devices.
      // On Android this capability is currently ignored, though it remains required.
      capabilities.setCapability("deviceName", specs.getDeviceName());
      capabilities.setCapability("platformName", specs.getPlatform());
      capabilities.setCapability("platformVersion", specs.getPlatformVersion());
      if (specs.getPlatform().name().equalsIgnoreCase("ios")) {
        capabilities.setCapability("automationName", "XCUITest");
        capabilities.setCapability("autoAcceptAlerts", true);
      } else {
        capabilities.setCapability("autoGrantPermissions", true);
        capabilities.setCapability(MobileCapabilityType.NEW_COMMAND_TIMEOUT, 300);
      }
      capabilities.setCapability("noReset", true);
    }
    return capabilities;
  }
 
源代码19 项目: bobcat   文件: SafariDriverCreator.java
@Override
public WebDriver create(Capabilities capabilities) {
  LOG.info("Starting the initialization of '{}' WebDriver instance", ID);
  LOG.debug("Initializing WebDriver with following capabilities: {}", capabilities);
  return new SafariDriver(new SafariOptions(capabilities));
}
 
public WebDriver createDriver(SafariOptions options) {
  return new SafariDriver(options);
}
 
源代码21 项目: darcy-webdriver   文件: SafariBrowserFactory.java
public SafariBrowserFactory usingOptions(SafariOptions options) {
    safariOptions = options;
    return this;
}