Skip to content

Commit f5a9157

Browse files
authored
fix: platformName does not work in Appium helper (#5214)
1 parent cef6e01 commit f5a9157

File tree

2 files changed

+59
-2
lines changed

2 files changed

+59
-2
lines changed

lib/helper/Appium.js

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -261,11 +261,13 @@ class Appium extends Webdriver {
261261

262262
this.platform = null
263263
if (config.capabilities[`${vendorPrefix.appium}:platformName`]) {
264-
this.platform = config.capabilities[`${vendorPrefix.appium}:platformName`].toLowerCase()
264+
config.capabilities[`${vendorPrefix.appium}:platformName`] = config.capabilities[`${vendorPrefix.appium}:platformName`].toLowerCase()
265+
this.platform = config.capabilities[`${vendorPrefix.appium}:platformName`]
265266
}
266267

267268
if (config.capabilities.platformName) {
268-
this.platform = config.capabilities.platformName.toLowerCase()
269+
config.capabilities.platformName = config.capabilities.platformName.toLowerCase()
270+
this.platform = config.capabilities.platformName
269271
}
270272

271273
return config
Lines changed: 55 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,55 @@
1+
const { expect } = require('chai')
2+
const Appium = require('../../lib/helper/Appium')
3+
4+
describe('Appium platformName normalization', () => {
5+
it('should normalize platformName to lowercase for Android', () => {
6+
const app = new Appium({
7+
platform: 'Android',
8+
desiredCapabilities: {
9+
platformName: 'Android',
10+
},
11+
})
12+
const config = app._validateConfig({
13+
platform: 'Android',
14+
desiredCapabilities: {
15+
platformName: 'Android',
16+
},
17+
})
18+
expect(config.capabilities.platformName).to.equal('android')
19+
expect(app.platform).to.equal('android')
20+
})
21+
22+
it('should normalize platformName to lowercase for iOS', () => {
23+
const app = new Appium({
24+
platform: 'iOS',
25+
desiredCapabilities: {
26+
platformName: 'iOS',
27+
},
28+
})
29+
const config = app._validateConfig({
30+
platform: 'iOS',
31+
desiredCapabilities: {
32+
platformName: 'iOS',
33+
},
34+
})
35+
expect(config.capabilities.platformName).to.equal('ios')
36+
expect(app.platform).to.equal('ios')
37+
})
38+
39+
it('should not change platformName if already lowercase', () => {
40+
const app = new Appium({
41+
platform: 'android',
42+
desiredCapabilities: {
43+
platformName: 'android',
44+
},
45+
})
46+
const config = app._validateConfig({
47+
platform: 'android',
48+
desiredCapabilities: {
49+
platformName: 'android',
50+
},
51+
})
52+
expect(config.capabilities.platformName).to.equal('android')
53+
expect(app.platform).to.equal('android')
54+
})
55+
})

0 commit comments

Comments
 (0)