mirror of
https://github.com/hcengineering/platform.git
synced 2025-04-24 17:30:03 +00:00
fix: more robust locators (#6796)
Signed-off-by: Alexander Onnikov <Alexander.Onnikov@xored.com>
This commit is contained in:
parent
4234931d82
commit
1ab7394695
@ -11,7 +11,7 @@ export class CompanyDetailsPage extends CommonRecruitingPage {
|
|||||||
}
|
}
|
||||||
|
|
||||||
readonly inputName = (): Locator => this.page.locator('div.antiEditBox input')
|
readonly inputName = (): Locator => this.page.locator('div.antiEditBox input')
|
||||||
readonly buttonCompanyDetails = (): Locator => this.page.locator('div.flex-row-center > span', { hasText: 'Company' })
|
readonly buttonCompanyDetails = (): Locator => this.page.locator('.popupPanel-body__aside').locator('text=Company')
|
||||||
readonly buttonLocation = (): Locator =>
|
readonly buttonLocation = (): Locator =>
|
||||||
this.page.locator('//span[text()="Location"]/following-sibling::div[1]/button/span')
|
this.page.locator('//span[text()="Location"]/following-sibling::div[1]/button/span')
|
||||||
|
|
||||||
|
@ -12,9 +12,11 @@ export class NavigationMenuPage {
|
|||||||
readonly buttonMyApplications = (): Locator =>
|
readonly buttonMyApplications = (): Locator =>
|
||||||
this.page.locator('a[href$="my-applications"]', { hasText: 'My applications' })
|
this.page.locator('a[href$="my-applications"]', { hasText: 'My applications' })
|
||||||
|
|
||||||
readonly buttonTalents = (): Locator => this.page.locator('a[href$="talents"]', { hasText: 'Talents' })
|
readonly navigator = (): Locator => this.page.locator('.antiPanel-navigator')
|
||||||
readonly buttonVacancies = (): Locator => this.page.locator('a[href$="vacancies"]', { hasText: 'Vacancies' })
|
readonly buttonTalents = (): Locator => this.navigator().locator('a[href$="talents"]', { hasText: 'Talents' })
|
||||||
readonly buttonCompanies = (): Locator => this.page.locator('a[href$="organizations"]', { hasText: 'Companies' })
|
readonly buttonVacancies = (): Locator => this.navigator().locator('a[href$="vacancies"]', { hasText: 'Vacancies' })
|
||||||
|
readonly buttonCompanies = (): Locator =>
|
||||||
|
this.navigator().locator('a[href$="organizations"]', { hasText: 'Companies' })
|
||||||
|
|
||||||
// Action methods to click on each button
|
// Action methods to click on each button
|
||||||
async clickButtonApplications (): Promise<void> {
|
async clickButtonApplications (): Promise<void> {
|
||||||
|
@ -8,8 +8,8 @@ export class RecruitingPage {
|
|||||||
}
|
}
|
||||||
|
|
||||||
recruitApplication = (): Locator => this.page.locator('[id="app-recruit\\:string\\:RecruitApplication"]')
|
recruitApplication = (): Locator => this.page.locator('[id="app-recruit\\:string\\:RecruitApplication"]')
|
||||||
talentsNavElement = (): Locator => this.page.locator('text=Talents')
|
talentsNavElement = (): Locator => this.page.locator('.antiPanel-navigator').locator('text=Talents')
|
||||||
reviews = (): Locator => this.page.locator('text=Reviews')
|
reviews = (): Locator => this.page.locator('.antiPanel-navigator').locator('text=Reviews')
|
||||||
reviewButton = (): Locator => this.page.getByRole('button', { name: 'Review', exact: true })
|
reviewButton = (): Locator => this.page.getByRole('button', { name: 'Review', exact: true })
|
||||||
|
|
||||||
frontendEngineerOption = (): Locator => this.page.locator('td:has-text("Frontend Engineer")')
|
frontendEngineerOption = (): Locator => this.page.locator('td:has-text("Frontend Engineer")')
|
||||||
@ -27,8 +27,8 @@ export class RecruitingPage {
|
|||||||
newTalentModalPath = (): Locator => this.page.getByText('Person New Talent')
|
newTalentModalPath = (): Locator => this.page.getByText('Person New Talent')
|
||||||
recruitApplicationButton = (): Locator => this.page.locator('[id="app-recruit\\:string\\:RecruitApplication"]')
|
recruitApplicationButton = (): Locator => this.page.locator('[id="app-recruit\\:string\\:RecruitApplication"]')
|
||||||
applicationsLink = (): Locator => this.page.locator('text=/^Applications/')
|
applicationsLink = (): Locator => this.page.locator('text=/^Applications/')
|
||||||
talentsLink = (): Locator => this.page.locator('text=Talents')
|
talentsLink = (): Locator => this.page.locator('.antiPanel-navigator').locator('text=Talents')
|
||||||
vacanciesLink = (): Locator => this.page.locator('text=Vacancies')
|
vacanciesLink = (): Locator => this.page.locator('.antiPanel-navigator').locator('text=Vacancies')
|
||||||
softwareEngineerLink = (): Locator => this.page.locator('text=Software Engineer')
|
softwareEngineerLink = (): Locator => this.page.locator('text=Software Engineer')
|
||||||
applicationLabelChunterButton = (): Locator =>
|
applicationLabelChunterButton = (): Locator =>
|
||||||
this.page.locator('[id="app-chunter\\:string\\:ApplicationLabelChunter"]')
|
this.page.locator('[id="app-chunter\\:string\\:ApplicationLabelChunter"]')
|
||||||
|
@ -41,14 +41,14 @@ export class TalentsPage extends CommonRecruitingPage {
|
|||||||
|
|
||||||
recruitApplicationButton = (): Locator => this.page.locator('[id="app-recruit\\:string\\:RecruitApplication"]')
|
recruitApplicationButton = (): Locator => this.page.locator('[id="app-recruit\\:string\\:RecruitApplication"]')
|
||||||
|
|
||||||
talentsTab = (): Locator => this.page.locator('text=Talents')
|
talentsTab = (): Locator => this.page.locator('.antiPanel-navigator').locator('text=Talents')
|
||||||
newTalentButton = (): Locator => this.page.locator('button:has-text("New Talent")')
|
newTalentButton = (): Locator => this.page.locator('button:has-text("New Talent")')
|
||||||
addSocialLinksButton = (): Locator => this.page.locator('[id="presentation\\:string\\:AddSocialLinks"]')
|
addSocialLinksButton = (): Locator => this.page.locator('[id="presentation\\:string\\:AddSocialLinks"]')
|
||||||
emailSelectorButton = (): Locator => this.page.locator('.antiPopup').locator('text=Email')
|
emailSelectorButton = (): Locator => this.page.locator('.antiPopup').locator('text=Email')
|
||||||
confirmEmailButton = (): Locator => this.page.locator('#channel-ok.antiButton')
|
confirmEmailButton = (): Locator => this.page.locator('#channel-ok.antiButton')
|
||||||
createTalentButton = (): Locator => this.page.locator('.antiCard button:has-text("Create")')
|
createTalentButton = (): Locator => this.page.locator('.antiCard button:has-text("Create")')
|
||||||
popupPanel = (): Locator => this.page.locator('.popupPanel')
|
popupPanel = (): Locator => this.page.locator('.popupPanel')
|
||||||
talentsLink = (): Locator => this.page.locator('text=Talents')
|
talentsLink = (): Locator => this.page.locator('.antiPanel-navigator').locator('text=Talents')
|
||||||
firstNameInput = (): Locator => this.page.locator('[placeholder="First name"]')
|
firstNameInput = (): Locator => this.page.locator('[placeholder="First name"]')
|
||||||
lastNameInput = (): Locator => this.page.locator('[placeholder="Last name"]')
|
lastNameInput = (): Locator => this.page.locator('[placeholder="Last name"]')
|
||||||
skillsButton = (): Locator =>
|
skillsButton = (): Locator =>
|
||||||
@ -62,7 +62,7 @@ export class TalentsPage extends CommonRecruitingPage {
|
|||||||
selectSkillButton = (skillName: string): Locator => this.page.locator(`button:has-text("${skillName}") .check`)
|
selectSkillButton = (skillName: string): Locator => this.page.locator(`button:has-text("${skillName}") .check`)
|
||||||
createCandidateButton = (): Locator => this.page.locator('button:has-text("Create")')
|
createCandidateButton = (): Locator => this.page.locator('button:has-text("Create")')
|
||||||
openOtherSkills = (): Locator => this.page.getByText('Other')
|
openOtherSkills = (): Locator => this.page.getByText('Other')
|
||||||
skillsLink = (): Locator => this.page.locator('text=Skills')
|
skillsLink = (): Locator => this.page.locator('.antiPanel-navigator').locator('text=Skills')
|
||||||
newSkillButton = (): Locator => this.page.getByRole('button', { name: 'Skill', exact: true })
|
newSkillButton = (): Locator => this.page.getByRole('button', { name: 'Skill', exact: true })
|
||||||
emailContact = (): Locator =>
|
emailContact = (): Locator =>
|
||||||
this.page.locator('div[class^="popupPanel-body__header"] button[id="gmail:string:Email"]')
|
this.page.locator('div[class^="popupPanel-body__header"] button[id="gmail:string:Email"]')
|
||||||
|
@ -44,7 +44,7 @@ export class VacanciesPage extends CommonRecruitingPage {
|
|||||||
readonly recruitApplicationButton = (): Locator =>
|
readonly recruitApplicationButton = (): Locator =>
|
||||||
this.page.locator('[id="app-recruit\\:string\\:RecruitApplication"]')
|
this.page.locator('[id="app-recruit\\:string\\:RecruitApplication"]')
|
||||||
|
|
||||||
readonly vacanciesMenuLink = (): Locator => this.page.locator('text=Vacancies')
|
readonly vacanciesMenuLink = (): Locator => this.page.locator('.antiPanel-navigator').locator('text=Vacancies')
|
||||||
readonly createVacancyButton = (): Locator => this.page.locator('button:has-text("Vacancy")')
|
readonly createVacancyButton = (): Locator => this.page.locator('button:has-text("Vacancy")')
|
||||||
readonly vacancyInputField = (): Locator => this.page.locator('form [placeholder="Software\\ Engineer"]')
|
readonly vacancyInputField = (): Locator => this.page.locator('form [placeholder="Software\\ Engineer"]')
|
||||||
readonly createButton = (): Locator => this.page.locator('form button:has-text("Create")')
|
readonly createButton = (): Locator => this.page.locator('form button:has-text("Create")')
|
||||||
|
Loading…
Reference in New Issue
Block a user