Make pages as a page object

This commit is contained in:
Shin'ya Ueoka 2019-09-23 16:16:51 +09:00
parent b5540dea9a
commit d37896887e
29 changed files with 822 additions and 976 deletions

22
e2e/lib/JSONOptionPage.ts Normal file
View file

@ -0,0 +1,22 @@
import { Lanthan } from 'lanthan';
import { WebDriver, By } from 'selenium-webdriver';
export default class JSONOptionPage {
private webdriver: WebDriver;
constructor(lanthan: Lanthan) {
this.webdriver = lanthan.getWebDriver();
}
async updateSettings(value: string): Promise<void> {
let textarea = await this.webdriver.findElement(By.css('textarea'));
await this.webdriver.executeScript(`document.querySelector('textarea').value = '${value}'`)
await textarea.sendKeys(' ');
await this.webdriver.executeScript(() => document.querySelector('textarea')!!.blur());
}
async getErrorMessage(): Promise<string> {
let error = await this.webdriver.findElement(By.css('.settings-ui-input-error'));
return error.getText();
}
}