【问题标题】:WebdriverIO Browser.click statement gives is not a function errorWebdriverIO Browser.click 语句给出的不是函数错误
【发布时间】:2019-11-12 22:48:04
【问题描述】:

我对 WebDriverIO 框架相当陌生,我试图自动化以下场景:

const assert = require('assert');

describe('Second Test With WebDriverIO', () => {

    it('Click the button for WebDriverIO Page', () => {

        browser.url('http://www.kevinlamping.com/webdriverio-course-content/');
        var title = browser.getTitle();
        assert.strictEqual(title,'Robot Parts Emporium');
        //browser.click('.shop-callout a');
        $('.shop-callout a').click();
        title = browser.getTitle();
        assert.strictEqual(title,'Totally Not Evil Sentient Robot - Robot Parts Emporium');

    });
});

但是,我在提及 "[chrome windows nt #0-0] browser.click is not a function" 时收到错误消息

但我使用$('.shop-callout a').click(); 而不是browser.click('.shop-callout a'); 然后一切正常。

const assert = require('assert');

describe('Second Test With WebDriverIO', () => {

    it('Click the button for WebDriverIO Page', () => {

        browser.url('http://www.kevinlamping.com/webdriverio-course-content/');
        var title = browser.getTitle();
        assert.strictEqual(title,'Robot Parts Emporium');
        //browser.click('.shop-callout a');
        $('.shop-callout a').click();
        title = browser.getTitle();
        assert.strictEqual(title,'Totally Not Evil Sentient Robot - Robot Parts Emporium');

    });
});

任何帮助将不胜感激。

【问题讨论】:

    标签: automation webdriver-io


    【解决方案1】:

    使用browser.elementClick(elementId),而不是browser.click(),因为这是根据 webdriver 协议的正确方法名称。

    见下文:-

    https://w3c.github.io/webdriver/#element-click

    $(selector).click() 是 webdriverio 提供的自定义方法,他们使用的方法与上述相同。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-07-29
      • 2018-05-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多