CCCPaste

pom example


class LoginPage {
    static locators = require('../components/login.component');
    static url  = '/';

    constructor() { 
        this.userField = LoginFields.loc('usernameField');
        this.passwordField = LoginFields.loc('passwordField');
        this.loginButton = LoginFields.loc('loginButton');
        this.errorField = LoginFields.loc('errorField');
    }
    
    async open() {
        await browser.url('/');     // baseURL is defined in "src/config/wdio.conf.js"
    } 

    async login(username, password) {
        await this.userField.setValue(username);
        await this.passwordField.setValue(password);
        await this.loginButton.click();
    }
}

module.exports = LoginPage;