[AAE-6170] Improving e2e tests relating to admin-ee. Tests which are flaky or long time execution (#7315)

* AAE-6170 Improving e2e tests relating to admin-ee. Tests which are flaky or long time execution

* Improve selector

* Improve selector

* Improve selector for datepicker
This commit is contained in:
MichalFidor 2021-10-26 14:23:47 +02:00 committed by GitHub
parent 9f08d4a3e6
commit ff956461cb
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 15 additions and 8 deletions

View File

@ -19,13 +19,14 @@ import { element, by, $ } from 'protractor';
import { DateUtil } from '../../utils/date-util';
import { BrowserVisibility } from '../../utils/browser-visibility';
import { BrowserActions } from '../../utils/browser-actions';
import { TestElement } from '../../test-element';
export class DatePickerCalendarPage {
datePicker = $('mat-calendar');
datePicker = $('mat-calendar[id*="mat-datepicker"]');
nextMonthButton = $('button[class*="mat-calendar-next-button"]');
previousMonthButton = $('button[class*="mat-calendar-previous-button"]');
todayDate = $('.mat-calendar-body-today');
todayDate = TestElement.byCss('div.mat-calendar-body-today');
periodButton = $('button[class*=mat-calendar-period-button]');
async getSelectedDate(): Promise<string> {
@ -55,8 +56,8 @@ export class DatePickerCalendarPage {
}
async selectTodayDate(): Promise<void> {
await this.checkDatePickerIsDisplayed();
await BrowserActions.click(this.todayDate);
await this.todayDate.waitPresent();
await this.todayDate.click();
await this.checkDatePickerIsNotDisplayed();
}

View File

@ -21,6 +21,7 @@ import { BrowserActions } from '../../core/utils/browser-actions';
import { DropdownPage } from '../../core/pages/material/dropdown.page';
import { PeopleCloudComponentPage } from './people-cloud-component.page';
import { DatePickerPage } from '../../core/pages/material/date-picker.page';
import { TestElement } from '../../core/test-element';
export interface FilterProps {
name?: string;
@ -52,7 +53,7 @@ export class EditProcessFilterCloudComponentPage {
private locatorCompletedDateRangeDropdown = $(`mat-select[data-automation-id='adf-cloud-edit-process-property-completedDateRange']`);
private locatorSuspendedDateRangeWithin = $(`mat-datepicker-toggle[data-automation-id='adf-cloud-edit-process-property-date-range-suspendedDateRange']`);
private content = this.rootElement.$('div.mat-expansion-panel-content[style*="visible"]');
private content = TestElement.byCss('adf-cloud-edit-process-filter mat-expansion-panel [style*="visible"]');
appNameDropdown = new DropdownPage(this.locatorAppNameDropdown);
statusDropdown = new DropdownPage(this.locatorStatusDropdown);
@ -77,6 +78,10 @@ export class EditProcessFilterCloudComponentPage {
return BrowserVisibility.waitUntilElementIsVisible(this.filter);
}
async isDropdownFilterDisplayed(): Promise<boolean> {
return this.content.isVisible(250);
}
async openFilter() {
await this.isFilterDisplayed();
await BrowserActions.click(this.customiseFilter);
@ -85,7 +90,7 @@ export class EditProcessFilterCloudComponentPage {
async checkHeaderIsExpanded() {
await BrowserVisibility.waitUntilElementIsVisible(this.expansionPanelExtended);
await BrowserVisibility.waitUntilElementIsVisible(this.content);
await this.content.waitVisible();
}
async closeFilter() {
@ -95,7 +100,7 @@ export class EditProcessFilterCloudComponentPage {
async checkHeaderIsCollapsed() {
await BrowserVisibility.waitUntilElementIsNotVisible(this.expansionPanelExtended, 1000);
await BrowserVisibility.waitUntilElementIsNotVisible(this.content, 1000);
await this.content.waitNotVisible(1000);
}
async setStatusFilterDropDown(option: string) {

View File

@ -19,6 +19,7 @@ import { Locator, by, element, protractor, $, $$, ElementFinder } from 'protract
import { BrowserVisibility } from '../../core/utils/browser-visibility';
import { BrowserActions } from '../../core/utils/browser-actions';
import { FormFields } from '../../core/pages/form/form-fields';
import { TestElement } from '../../core/test-element';
export class PeopleCloudComponentPage {
@ -39,7 +40,7 @@ export class PeopleCloudComponentPage {
}
async clearAssigneeFromChip(username: string): Promise<void> {
const assigneeChipRemoveIcon = $(`[data-automation-id="adf-people-cloud-chip-remove-icon-${username}"]`);
const assigneeChipRemoveIcon = TestElement.byCss(`[data-automation-id="adf-people-cloud-chip-remove-icon-${username}"]`);
await assigneeChipRemoveIcon.click();
}