Как выполнить файл JS, используя webdriver.io? - PullRequest
0 голосов
/ 11 мая 2019

Я могу сделать этот вызов executeScript() при использовании selenium-webdriver.

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 голосов
/ 11 мая 2019

Если вы посмотрите на документацию , это показывает, что вам нужно передать функцию, а не файл:

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 , как и раньше.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...