Merge pull request #26250 from JoshuaKGoldberg/set-firefox-service

Fixed selenium-webdriver get* and set* Option and Service for Builders
This commit is contained in:
Mine Starks
2018-06-15 16:11:54 -07:00
committed by GitHub
2 changed files with 57 additions and 1 deletions

View File

@@ -2160,6 +2160,21 @@ export class Builder {
*/
setChromeOptions(options: chrome.Options): Builder;
/**
* @return {chrome.Options} the Chrome specific options currently configured
* for this builder.
*/
getChromeOptions(): chrome.Options;
/**
* Sets the service builder to use for managing the chromedriver child process
* when creating new Chrome sessions.
*
* @param {chrome.ServiceBuilder} service the service to use.
* @return {!Builder} A self reference.
*/
setChromeService(service: chrome.ServiceBuilder): Builder;
/**
* Sets the control flow that created drivers should execute actions in. If
* the flow is never set, or is set to {@code null}, it will use the active
@@ -2181,6 +2196,15 @@ export class Builder {
*/
setEdgeOptions(options: edge.Options): Builder;
/**
* Sets the {@link edge.ServiceBuilder} to use to manage the
* MicrosoftEdgeDriver child process when creating sessions locally.
*
* @param {edge.ServiceBuilder} service the service to use.
* @return {!Builder} a self reference.
*/
setEdgeService(service: edge.ServiceBuilder): Builder;
/**
* Sets whether native events should be used.
* @param {boolean} enabled Whether to enable native events.
@@ -2199,6 +2223,21 @@ export class Builder {
*/
setFirefoxOptions(options: firefox.Options): Builder;
/**
* @return {firefox.Options} the Firefox specific options currently configured
* for this instance.
*/
getFirefoxOptions(): firefox.Options;
/**
* Sets the {@link firefox.ServiceBuilder} to use to manage the geckodriver
* child process when creating Firefox sessions locally.
*
* @param {firefox.ServiceBuilder} service the service to use.
* @return {!Builder} a self reference.
*/
setFirefoxService(service: firefox.ServiceBuilder): Builder;
/**
* Set Internet Explorer specific {@linkplain ie.Options options} for drivers
* created by this builder. Any proxy settings defined on the given options
@@ -2246,7 +2285,13 @@ export class Builder {
* @param {!safari.Options} options The Safari options to use.
* @return {!Builder} A self reference.
*/
setSafari(options: safari.Options): Builder;
setSafariOptions(options: safari.Options): Builder;
/**
* @return {safari.Options} the Safari specific options currently configured
* for this instance.
*/
getSafariOptions(): safari.Options;
/**
* Sets how elements should be scrolled into view for interaction.

View File

@@ -1,8 +1,10 @@
import * as webdriver from 'selenium-webdriver';
import * as chrome from 'selenium-webdriver/chrome';
import * as edge from 'selenium-webdriver/edge';
import * as firefox from 'selenium-webdriver/firefox';
import * as http from 'selenium-webdriver/http';
import * as remote from 'selenium-webdriver/remote';
import * as safari from 'selenium-webdriver/safari';
import * as testing from 'selenium-webdriver/testing';
function TestBuilder() {
@@ -18,16 +20,25 @@ function TestBuilder() {
builder = builder.setAlertBehavior('behavior');
builder = builder.setChromeOptions(new chrome.Options());
builder = builder.setChromeService(new chrome.ServiceBuilder());
builder = builder.setControlFlow(new webdriver.promise.ControlFlow());
builder = builder.setEdgeOptions(new edge.Options());
builder = builder.setEdgeService(new edge.ServiceBuilder());
builder = builder.setEnableNativeEvents(true);
builder = builder.setFirefoxOptions(new firefox.Options());
builder = builder.setFirefoxService(new firefox.ServiceBuilder());
builder = builder.setLoggingPrefs(new webdriver.logging.Preferences());
builder = builder.setLoggingPrefs({ key: 'value' });
builder = builder.setProxy({ proxyType: 'type' });
builder = builder.setSafariOptions(new safari.Options());
builder = builder.setScrollBehavior(1);
builder = builder.usingServer('http://someserver');
builder = builder.withCapabilities(new webdriver.Capabilities());
builder = builder.withCapabilities({ something: true });
const chromeOptions: chrome.Options = builder.getChromeOptions();
const firefoxOptions: firefox.Options = builder.getFirefoxOptions();
const safariOptions: safari.Options = builder.getSafariOptions();
}
declare const promise: webdriver.promise.Promise<string>;