【问题标题】:Page objects not being run in webdriverio setup页面对象未在 webdriverio 设置中运行
【发布时间】:2022-10-15 01:44:45
【问题描述】:

我已经创建了一个测试脚本网络驱动程序(版本 6.14.13)和 mocha,它使用页面对象功能。

这是因为我的一些测试脚本在我的绝大多数其他脚本中使用,我认为克服这种重复代码的最佳方法是使用页面对象.

所以,这是我的页面对象脚本,名为removeNotifications.js,我已将其添加到我的pages 文件夹中;

class clearNotifications {
    get closeTheCmp() {
        const cmpDismissal = $('~ACCEPT AND CLOSE');
        if (cmpDismissal.isExisting()) {
                cmpDismissal.click();
                cmpDismissal.waitForExist({ reverse: true });
        }
    }
    get allowNotifications() {
        const notificationsDismissal = $('~Allow');
        if (notificationsDismissal.isExisting()) {
                notificationsDismissal.click();
                notificationsDismissal.waitForExist({ reverse: true });
        }
    }
    get skipToContent() {
        const skipButton = $('~SKIP');
        skipButton.waitForExist({timeout: 50000});
        skipButton.isExisting();
        skipButton.click();
    }
}
export default new clearNotifications();

现在,在我的测试脚本中,我有以下代码;

var clearNotifications = require ('../pages/removeNotifications.js');

describe('testing the app cmp.....', () => {
    it('Close CMP, Notifications and Skip to content...', async () => {
        await clearNotifications.closeTheCmp();
        await clearNotifications.allowNotifications();
        await clearNotifications.skipToContent();
    });

但是,测试失败了,因为它似乎没有执行任何removeNotifications.js 功能?

我在我的 removeNotifications.js 脚本中做错了什么,并且没有正确定义它?

还是我的测试脚本没有正确“调用”removeNotifications.js 从而运行测试而不执行removeNotifications.js 脚本中详述的功能?

任何帮助将不胜感激。谢谢。

【问题讨论】:

  • 您在获取方法中犯了错误,我们返回选择器,然后在我们的函数中使用它们,我将在下面的答案中放置示例

标签: javascript mocha.js webdriver-io pageobjects


【解决方案1】:

类 clearNotifications {

   get closeTheCmpGetter() {
        return $('~ACCEPT AND CLOSE');   
    }
    async closeTheCmp(){

    const cmpDismissal = await this.closeTheCmpGetter;

    if (await cmpDismissal.isExisting()) {
          await cmpDismissal.click();

          await cmpDismissal.waitForExist({ reverse: true });

        }
    }
    
    

} 导出默认新的 clearNotifications();

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-04-21
    • 1970-01-01
    • 1970-01-01
    • 2019-03-01
    • 1970-01-01
    • 1970-01-01
    • 2015-03-09
    • 1970-01-01
    相关资源
    最近更新 更多