【问题标题】:How to release keys in webdriverIO如何在 webdriverIO 中释放密钥
【发布时间】:2017-08-01 13:07:38
【问题描述】:

webdriverIO 文档说browser.keys 命令的工作方式类似于sendKeys 命令,但它不会隐式释放密钥。

http://webdriver.io/api/protocol/keys.html

密钥是如何释放的?

我尝试编写代码以使用键盘在表单中向后导航:

browser.keys(['Shift', 'Tab']);

但是在它输入的下一个输入框中,文本是大写的。就像 shift 键仍然按住一样。

【问题讨论】:

    标签: javascript selenium-webdriver webdriver chimp.js


    【解决方案1】:

    我想我明白了。我只需要像这样发送密钥两次

    browser.keys(['Shift', 'Tab', 'Tab', 'Shift']);
    

    我认为 webdriver 必须将第一个 Shift 视为按键,而将第二个 Shift 视为按键。

    因此,上面的序列将是完整的 keysDown/keysUp 序列,用于使用键盘进行向后表单导航。

    【讨论】:

    • 看看这个SO Q&A 的想法。
    【解决方案2】:

    为什么不使用 .click 来单击所需的表单?使用 css 选择器比模拟按键要容易得多。

    你也可以做这样的事情

    .click('a[href*="contact"]')
    

    如果您找不到唯一的 id 或类,也可以使用占位符和其他东西。

    // .moveToObject(selector,xoffset,yoffset); 
    .moveToObject('#button', 0, -103)
    .buttonDown()
    .moveToObject('#button', 0, -104)
    .buttonUp()
    

    但是,如果您没有机会找到要单击的正确 css 选择器,我会使用它来按下鼠标按钮然后释放它。您可以右键单击 webdriver io 以查看您在哪个位置,然后您可以创建此解决方法,在没有 css 选择器的任何地方单击。

    【讨论】:

    • 谢谢!了解使用鼠标导航应用程序的其他方法总是有帮助的。不幸的是,我正在编写一些自动化测试来测试纯键盘用户是否可以浏览我们的应用程序。所以,我不能使用鼠标在这个测试套件中导航。
    • 啊,你自己找到了你的遮阳篷 :) 但是好 2 知道你需要按 2 次​​span>
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-03-25
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多