@@ -3,6 +3,8 @@ import {FOBasePagePageInterface} from '@interfaces/FO';
3
3
import CommonPage from '@pages/commonPage' ;
4
4
5
5
import type { Page } from 'playwright' ;
6
+ import semver from 'semver' ;
7
+ import utilsTest from '@utils/test' ;
6
8
7
9
/**
8
10
* FO parent page, contains functions that can be used on all FO page
@@ -174,8 +176,13 @@ export default class FOBasePage extends CommonPage implements FOBasePagePageInte
174
176
this . defaultLanguageSpan = `${ this . languageSelectorDiv } button span` ;
175
177
this . languageSelectorExpandIcon = `${ this . languageSelectorDiv } i.expand-more` ;
176
178
this . languageSelectorList = `${ this . languageSelectorDiv } .js-dropdown.open` ;
177
- this . languageSelectorMenuItemLink = ( language ) => `${ this . languageSelectorDiv } ul li `
178
- + `a[data-iso-code='${ language } ']` ;
179
+ if ( semver . lt ( utilsTest . getPSVersion ( ) , '7.5.0' ) ) {
180
+ this . languageSelectorMenuItemLink = ( language ) => `${ this . languageSelectorDiv } ul li `
181
+ + `a[href*='id_lang=${ language } ']` ;
182
+ } else {
183
+ this . languageSelectorMenuItemLink = ( language ) => `${ this . languageSelectorDiv } ul li `
184
+ + `a[data-iso-code='${ language } ']` ;
185
+ }
179
186
this . currencySelectorDiv = '#_desktop_currency_selector' ;
180
187
this . defaultCurrencySpan = `${ this . currencySelectorDiv } button span` ;
181
188
this . currencySelectorExpandIcon = `${ this . currencySelectorDiv } i.expand-more` ;
@@ -409,7 +416,16 @@ export default class FOBasePage extends CommonPage implements FOBasePagePageInte
409
416
page . locator ( this . languageSelectorExpandIcon ) . click ( ) ,
410
417
this . waitForVisibleSelector ( page , this . languageSelectorList ) ,
411
418
] ) ;
412
- await this . clickAndWaitForLoadState ( page , this . languageSelectorMenuItemLink ( lang ) ) ;
419
+ let language : string = lang ;
420
+
421
+ if ( semver . lt ( utilsTest . getPSVersion ( ) , '7.5.0' ) ) {
422
+ if ( lang === 'en' ) {
423
+ language = '1' ;
424
+ } else {
425
+ language = '2' ;
426
+ }
427
+ }
428
+ await this . clickAndWaitForLoadState ( page , this . languageSelectorMenuItemLink ( language ) ) ;
413
429
}
414
430
415
431
/**
@@ -815,7 +831,7 @@ export default class FOBasePage extends CommonPage implements FOBasePagePageInte
815
831
* @param page {Page} Browser tab
816
832
* @returns {Promise<string|null> }
817
833
*/
818
- async getRestrictedText ( page : Page ) : Promise < string | null > {
834
+ async getRestrictedText ( page : Page ) : Promise < string | null > {
819
835
return page . locator ( this . restrictedText ) . textContent ( ) ;
820
836
}
821
837
}
0 commit comments