【问题标题】:Nightwatch.js: Error while running .locateMultipleElements() protocol action: invalid selector: An invalid or illegal selector was specifiedNightwatch.js:运行 .locateMultipleElements() 协议操作时出错:无效选择器:指定了无效或非法的选择器
【发布时间】:2019-12-27 17:20:30
【问题描述】:

我在 Nightwatch.js 中使用页面对象。我想模拟登录行为,所以页面对象模块中的命令是:

commands: [{
        setValueToHere(selector,value) {
           return this
                .setValue(selector,value)
        },
        clickTheButton() {
            return this
                .click('@submitButton');
    }
    }]

当我在测试中调用它时,测试运行“奇怪”:弹出式浏览器运行良好,它的行为与用户在网页上的行为完全相同。但是,终端中的结果一直在运行这些行。

运行 .locateMultipleElements() 协议操作时出错:无效的选择器:指定了无效或非法的选择器

运行 .locateMultipleElements() 协议操作时出错:无效的选择器:指定了无效或非法的选择器

...

这种情况并不经常发生,有时运行平稳,但有时错误继续运行。是因为我的网络连接吗? 有人遇到这种情况吗?

【问题讨论】:

    标签: authentication nightwatch.js pageobjects


    【解决方案1】:

    有两个问题。 首先,你的网速慢, 其次,您的元素用 XPath 标识。

    CSS 选择器应该可以解决问题。

    对于 www.google.com, 对于徽标,使用 Css 选择器 #hplogo 测试通过。 使用 Xpath,//*[@id="hplogo"] 找到徽标,但测试将失败。 在遇到同样的问题 2 周后,我发现夜间值班有这个问题。 玩得开心。

    【讨论】:

    • 谢谢,因为我的网速太慢了。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-11-11
    • 1970-01-01
    • 1970-01-01
    • 2019-06-17
    • 2015-06-18
    • 2023-03-28
    • 2022-08-17
    相关资源
    最近更新 更多