在量角器中使用Page Object中的函数

时间:2019-03-05 17:35:24

标签: protractor pageobjects

我的afterEach块中包含此代码,该代码可用于控制台记录失败规范的页面源。但我想将其移至另一堂课。

    afterEach(function () {

    const state = this.currentTest.state;
    if (state === 'failed') {
        browser.driver.getPageSource().then(function (res) {
            console.log(res);     
        });
    }
});

但是当我尝试在另一个类中使用以下内容时,类型'HelperClass'上不存在'Property'currentTest'。如何声明currentTest属性?

import { browser, } from 'protractor';
export class HelperClass {

    public getSource() {

        const state = this.currentTest.state;
        if (state === 'failed') {
            browser.driver.getPageSource().then(function (res) {
                console.log(res);
            });
        }
    }
}

1 个答案:

答案 0 :(得分:0)

尝试如下

测试文件:

const helper = new HelperClass(); // create object for class
  afterEach(async ()=> {
    const state = this.currentTest.state;
    await helper.getSource(state);
});

课程文件

import { browser, } from 'protractor';
export class HelperClass {

    public getSource(state:any) {

        if (state === 'failed') {
            browser.driver.getPageSource().then(function (res) {
                console.log(res);
            });
        }
    }
}

在这里,我们正在从您的测试文件发送State。 希望对您有帮助