如何使用webdriver.io执行js文件?

时间:2019-05-11 02:48:41

标签: webdriver-io

我可以使用selenium-webdriver来调用executeScript()

const script = fs.readFileSync(__dirname+'/script.js', 'utf8');
await driver.executeScript(script);

有效

如何使用webdriver.io执行此操作?如果我使用execute(),则会出现以下错误:

const script = fs.readFileSync(__dirname+'/script.js', 'utf8');
await browser.execute(script);
ERROR webdriver: Request failed due to Error: {"errorMessage":"Unexpected token ')'"

1 个答案:

答案 0 :(得分:0)

如果您查看the documentation,则表明您需要传递函数而不是文件:

it('should inject javascript on the page', () => {
    const result = browser.execute((a, b, c, d) => {
        // browser context - you may not access client or console
        return a + b + c + d
    }, 1, 2, 3, 4)
    // node.js context - client and console are available
    console.log(result) // outputs: 10
});

如果要以字符串形式传递函数,请像以前一样使用executeScript