Skip to content

Commit 06d3598

Browse files
authored
Fix native testing with test_workers enabled. (#3559)
1 parent 0e02f5d commit 06d3598

File tree

3 files changed

+18
-11
lines changed

3 files changed

+18
-11
lines changed

lib/core/client.js

+4-3
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ const Transport = require('../transport');
1010
const Element = require('../element');
1111
const ApiLoader = require('../api');
1212
const ElementGlobal = require('../api/_loaders/element-global.js');
13+
const {isAndroid, isIos} = require('../utils/mobile');
1314

1415
const {LocateStrategy, Locator} = Element;
1516
const {Logger, isUndefined, isDefined, isObject, isFunction} = Utils;
@@ -37,7 +38,7 @@ class NightwatchAPI {
3738
}
3839

3940
if (this.desiredCapabilities instanceof Capabilities) {
40-
return this.desiredCapabilities.getplatformName();
41+
return this.desiredCapabilities.getPlatform();
4142
}
4243

4344
return this.desiredCapabilities.platformName;
@@ -79,11 +80,11 @@ class NightwatchAPI {
7980
}
8081

8182
isIOS() {
82-
return this.__isPlatformName('iOS');
83+
return isIos(this.desiredCapabilities);
8384
}
8485

8586
isAndroid() {
86-
return this.__isPlatformName('Android');
87+
return isAndroid(this.desiredCapabilities);
8788
}
8889

8990
isMobile() {

lib/utils/mobile.js

+10-4
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,13 @@ function requireMobileHelper() {
2929
* @param {Object} desiredCapabilities
3030
* @returns {Boolean}
3131
*/
32-
function isAndroid(desiredCapabilities){
32+
function isAndroid(desiredCapabilities = {}){
33+
const {platformName} = desiredCapabilities;
34+
35+
if (platformName && platformName.toLowerCase() === 'android') {
36+
return true;
37+
}
38+
3339
const options = desiredCapabilities['goog:chromeOptions'] || desiredCapabilities['moz:firefoxOptions'];
3440

3541
if (options && options.androidPackage) {
@@ -44,10 +50,10 @@ function isAndroid(desiredCapabilities){
4450
* @param {Object} desiredCapabilities
4551
* @returns {Boolean}
4652
*/
47-
function isIos(desiredCapabilities) {
48-
const {browserName = '', platformName = ''} = desiredCapabilities;
53+
function isIos(desiredCapabilities = {}) {
54+
const {platformName} = desiredCapabilities;
4955

50-
if (browserName.toLowerCase() === 'safari' && platformName.toLowerCase() === 'ios') {
56+
if (platformName && platformName.toLowerCase() === 'ios') {
5157
return true;
5258
}
5359

test/src/index/transport/testMobileOptions.js

+4-4
Original file line numberDiff line numberDiff line change
@@ -36,9 +36,9 @@ describe('Test mobile options in Nightwatch/Appium client', function () {
3636
desiredCapabilities: {
3737
browserName: 'Chrome',
3838
javascriptEnabled: true,
39-
platformName: 'Android',
40-
platformVersion: '13.0',
41-
deviceName: 'Google Pixel'
39+
'goog:chromeOptions': {
40+
androidPackage: 'com.android.chrome'
41+
}
4242
}
4343
});
4444

@@ -94,7 +94,7 @@ describe('Test mobile options in Nightwatch/Appium client', function () {
9494
use_appium: true
9595
},
9696
desiredCapabilities: {
97-
browserName: '',
97+
browserName: null,
9898
platformName: 'Android'
9999
}
100100
});

0 commit comments

Comments
 (0)