Bin*_*ntz 7 javascript selenium webdriver mocha.js webdriver-io
我正在使用 Webdriver.io 在大量页面上运行测试。因为页面的所有规范都在 JSON 文件中,所以我有一个特殊的类来设置测试。它看起来像这样:
module.exports = class PageTester {
    suiteName = '';
    browser = {};
    constructor (suiteName, browser) {
        this.suiteName = suiteName;
        this.browser = browser;
    }
    testModel(currentModel) {
        describe(this.suiteName + ' endpoint ' + currentModel.url, () => {
            this.browser.url(currentModel.url);
    
            /* it() statements for the test */
        });
    }        
}
Run Code Online (Sandbox Code Playgroud)
然后,在我的规范文件夹中,我有一个加载 JSON 并将其插入 PageTester 类的文件,如下所示:
const PageTester = require('../modules/PageTester');
const models = require('/path/to/some/file.json');
const pageTester = new PageTester('Some Name', browser);
for (const modelName in models) {
    pageTester.testModel(models[modelName]);
}
Run Code Online (Sandbox Code Playgroud)
当我运行此代码时,WebdriverIO 会给出以下警告:
WARN @wdio/mocha-framework: Unable to load spec files quite likely because they rely on `browser` object that is not fully initialised.
`browser` object has only `capabilities` and some flags like `isMobile`.
Helper files that use other `browser` commands have to be moved to `before` hook.
Spec file(s): /suite/test/specs/test.js
Run Code Online (Sandbox Code Playgroud)
所有测试似乎都运行良好,所以我实际上不明白这个警告在抱怨什么以及忽略它可能会产生什么负面后果。所以我想a)了解为什么会发生这种情况,b)鉴于我的代码设置方式,如何消除此警告。
您只能与it块内的浏览器对象进行交互,因为在浏览器会话启动之前无法完全访问它。
有关详细信息,请参阅https://webdriver.io/blog/2019/11/01/spec-filtering.html。
|   归档时间:  |  
           
  |  
        
|   查看次数:  |  
           34501 次  |  
        
|   最近记录:  |