angular4-testing/project-manager/e2e/page-object/abstract-header.po.ts

43 lines
1.1 KiB
TypeScript

import {element, by} from "protractor";
import {AbstractPage} from "./abstract-page.po";
/**
* PageObject Klasse zur Repräsentation jeder
* Seite mit Navigations Header und weiteren Router-Outlets
*
* @author FHartwich
*/
export class AbstractHeaderPage extends AbstractPage {
/**
* Überschrift auf der Seite
* @type {ElementFinder}
*/
head = element(by.css('h1'));
/**
* Schnellzugriff Dropdown Button
* @type {ElementFinder}
*/
schnellzugriffBtn = element(by.className('dropdown'));
/**
* Validierung der gegebenen Seiten-Überschrift
* @param headline - zu validierende Überschrift
*/
validatePageHeadline(headline: string) {
expect(this.head.getText()).toBe(headline);
}
/**
* Klick auf ein Element im Schnellzugriff Dropdown
* @param linkText - Link-Bezeichnung aus dem Menü
*/
clickSchnellzugriffFollowedBy(linkText: string) {
// starts with css Selector: https://developer.mozilla.org/en-US/docs/Web/CSS/Attribute_selectors
this.schnellzugriffBtn.click();
this.schnellzugriffBtn.element(by.linkText(linkText)).click();
}
}