diff --git a/README.md b/README.md index 3ec73d2a7..c51984b7e 100644 --- a/README.md +++ b/README.md @@ -164,8 +164,6 @@ Differences are noted here: |`commandTimeouts`|Custom timeout(s) in milliseconds for WDA backend commands execution. This might be useful if WDA backend freezes unexpectedly or requires too much time to fail and blocks automated test execution. The value is expected to be of type string and can either contain max milliseconds to wait for each WDA command to be executed before terminating the session forcefully or a valid JSON string, where keys are internal Appium command names (you can find these in logs, look for "Executing command 'command_name'" records) and values are timeouts in milliseconds. You can also set the 'default' key to assign the timeout for all other commands not explicitly enumerated as JSON keys.|`'120000'`, `'{"findElement": 40000, "findElements": 40000, "setValue": 20000, "default": 120000}'`| |`maxTypingFrequency`|Maximum frequency of keystrokes for typing and clear. If your tests are failing because of typing errors, you may want to adjust this. Defaults to 60 keystrokes per minute.|e.g., `30`| |`simpleIsVisibleCheck`|Use native methods for determining visibility of elements. In some cases this takes a long time. Setting this capability to `false` will cause the system to use the position and size of elements to make sure they are visible on the screen. This can, however, lead to false results in some situations. Defaults to `false`, except iOS 9.3, where it defaults to `true`.|e.g., `true`, `false`| -|`startIWDP`|Set this to `true` if you want to start ios_webkit_debug proxy server automatically for accessing webviews on iOS. The capatibility only works for real device automation. Defaults to `false`.|e.g., `true`| -|`webkitDebugProxyPort`|Local port number used for communication with ios-webkit-debug-proxy. Only relevant for real devices. The default value equals to `27753`.|e.g. `20000`| |`absoluteWebLocations`|This capability will direct the `Get Element Location` command, when used within webviews, to return coordinates which are relative to the origin of the page, rather than relative to the current scroll offset. This capability has no effect outside of webviews. Default `false`.|e.g., `true`| |`useJSONSource`|Get JSON source from WDA and parse into XML on Appium server. This can be much faster, especially on large devices. Defaults to `false`.|e.g., `true`| |`realDeviceScreenshotter`|Name of the alternative screenshot system to use for real devices. Defaults to the XCUITest screenshot functionality through WebDriverAgent. Possible value is `idevicescreenshot` to use the screenshot program from libimobiledevice.|e.g., `idevicescreenshot`| diff --git a/lib/desired-caps.js b/lib/desired-caps.js index 0dd52891d..fdc19f392 100644 --- a/lib/desired-caps.js +++ b/lib/desired-caps.js @@ -96,9 +96,6 @@ let desiredCapConstraints = _.defaults({ calendarAccessAuthorized: { isBoolean: true }, - startIWDP: { - isBoolean: true, - }, useSimpleBuildTest: { isBoolean: true }, diff --git a/lib/driver.js b/lib/driver.js index 927f0ab2c..29065c7ba 100644 --- a/lib/driver.js +++ b/lib/driver.js @@ -10,7 +10,7 @@ import { shutdownOtherSimulators, shutdownSimulator } from './simulator-management'; import { simExists, getSimulator, installSSLCert, hasSSLCert } from 'appium-ios-simulator'; import { retryInterval, retry } from 'asyncbox'; -import { settings as iosSettings, defaultServerCaps, appUtils, IWDP } from 'appium-ios-driver'; +import { settings as iosSettings, defaultServerCaps, appUtils } from 'appium-ios-driver'; import { desiredCapConstraints, PLATFORM_NAME_IOS, PLATFORM_NAME_TVOS } from './desired-caps'; import commands from './commands/index'; import { @@ -439,15 +439,6 @@ class XCUITestDriver extends BaseDriver { await openUrl(this.opts.device.udid, this._currentUrl); } - if (this.isRealDevice() && this.opts.startIWDP) { - try { - await this.startIWDP(); - log.debug(`Started ios_webkit_debug proxy server at: ${this.iwdpServer.endpoint}`); - } catch (err) { - log.errorAndThrow(`Could not start ios_webkit_debug_proxy server: ${err.message}`); - } - } - if (this.isSafari() || this.opts.autoWebview) { log.debug('Waiting for initial webview'); await this.navToInitialWebview(); @@ -646,10 +637,6 @@ class XCUITestDriver extends BaseDriver { this.logs = {}; } - if (this.iwdpServer) { - await this.stopIWDP(); - } - if (this.opts.enableAsyncExecuteFromHttps && !this.isRealDevice()) { await this.stopHttpsAsyncServer(); } @@ -1195,24 +1182,6 @@ class XCUITestDriver extends BaseDriver { this.wdaCaps.capabilities, this.deviceCaps); } - async startIWDP () { - this.logEvent('iwdpStarting'); - this.iwdpServer = new IWDP({ - webkitDebugProxyPort: this.opts.webkitDebugProxyPort, - udid: this.opts.udid, - logStdout: !!this.opts.showIWDPLog, - }); - await this.iwdpServer.start(); - this.logEvent('iwdpStarted'); - } - - async stopIWDP () { - if (this.iwdpServer) { - await this.iwdpServer.stop(); - delete this.iwdpServer; - } - } - async reset () { if (this.opts.noReset) { // This is to make sure reset happens even if noReset is set to true diff --git a/test/functional/basic/iwdp-e2e-specs.js b/test/functional/basic/iwdp-e2e-specs.js deleted file mode 100644 index 3cd8aa504..000000000 --- a/test/functional/basic/iwdp-e2e-specs.js +++ /dev/null @@ -1,39 +0,0 @@ -// transpile:mocha - -import chai from 'chai'; -import chaiAsPromised from 'chai-as-promised'; -import { SAFARI_CAPS } from '../desired'; -import { initSession, deleteSession, MOCHA_TIMEOUT } from '../helpers/session'; -import B from 'bluebird'; - -chai.should(); -chai.use(chaiAsPromised); - -if (process.env.REAL_DEVICE) { - describe('ios_webkit_debug_proxy: ', function () { - this.timeout(MOCHA_TIMEOUT); - let caps, driver; - - beforeEach(function () { - caps = Object.assign(SAFARI_CAPS); - caps.startIWDP = true; - }); - - afterEach(async function () { - await deleteSession(); - await B.delay(500); - }); - - it('Should start a Safari session if "caps.startIWDP === true"', async function () { - caps.startIWDP = true; - driver = await initSession(caps); - await driver.source().should.not.be.rejected; - await driver.quit(); - }); - - it('Should not start a Safari session if "caps.startIWDP === false"', async function () { - caps.startIWDP = false; - await initSession(caps).should.be.rejectedWith(/environment you requested was unavailable/); - }); - }); -} diff --git a/test/unit/driver-specs.js b/test/unit/driver-specs.js index c7b08395f..249973b26 100644 --- a/test/unit/driver-specs.js +++ b/test/unit/driver-specs.js @@ -119,24 +119,6 @@ describe('driver commands', function () { driver.startLogCapture.called.should.be.false; }); }); - - describe('startIWDP()', function () { - let driver = new XCUITestDriver(); - - it('should start and stop IWDP server', async function () { - let startStub = sinon.stub(); - let stopStub = sinon.stub(); - iosDriver.IWDP = function () { - this.start = startStub; - this.stop = stopStub; - }; - await driver.startIWDP(); - await driver.stopIWDP(); - - startStub.calledOnce.should.be.true; - stopStub.calledOnce.should.be.true; - }); - }); }); describe('installOtherApps', function () {