angular-cn/aio/tests/e2e/api.po.ts

43 lines
1.0 KiB
TypeScript

import { element, by } from 'protractor';
import { SitePage } from './app.po';
export class ApiPage extends SitePage {
constructor(url: string) {
super();
this.navigateTo(url);
}
getDescendants(docType: string, onlyDirect = false) {
// This selector is horrible because we have potentially recursive HTML lists
//
// ul
// li
// code
// ul
// li
// code
// ul
// li
// code
// li
// code
//
// and we want to be able to pull out the code elements from only the first level
// if `onlyDirect` is set to `true`.
const selector = `.descendants.${docType} ${onlyDirect ? '>' : ''} ul > li > code`;
return element.all(by.css(selector)).map<string>(item => item && item.getText());
}
getOverview(docType) {
return element(by.css(`.${docType}-overview`));
}
getSection(cls) {
return element(by.css(`section.${cls}`));
}
getBadge(cls) {
return element(by.css('.api-status-label.' + cls));
}
}