使用pressKey模拟typeText无法产生预期的结果

时间:2019-04-09 08:45:41

标签: automated-tests e2e-testing web-testing testcafe

由于我正在测试的站点上的输入字段是由站点开发人员使用随机类创建的,因此typeText无效,因为Testcafe无法将其识别为有效的输入字段。

因此,我试图使用pressKey模拟typeText在输入字段中输入字符串。

不幸的是,结果并非我所希望的。使用.pressKey('L P')会导致 LP 出现在搜索框中,但会出现 LPL

如何解决此问题?我不知道为什么还会出现另一个L

作为参考,使用typeText会导致显示为错误:

Uncaught TypeError: this.ui.searchBox.val is not a function

供进一步参考,选择器如下所示:

#modals > div.selectra-dropdown > div > div.search > input[type="zax"]

在查询“ zax”到底是什么时,站点开发人员告诉我,它是一个组合的类名,用于解决某些问题,因此我坚持使用它。

2 个答案:

答案 0 :(得分:3)

这可能意味着TestCafe无法正确模拟页面的键盘事件。请创建一个bug report,并提供可用于重现此问题的页面和测试。

答案 1 :(得分:2)

TBH,我真的希望您能找到答案,但是由于type=[zax],对我而言,在这里无能为力; 但是,尽管如此,您可以简化代码并尝试类似

  1. 在此处替换 this.empty_lp_group_search = Selector('#modals > div.selectra-dropdown > div > div.search > input[type="zax"]'); this.empty_lp_group_search = Selector('#modals input[type="zax"]');

  2. 可能也是这个 this.empty_lp_group_select = Selector('#link-resources > div.modal-host > div.modal-element.modal-container > div > div.modal-body > div.form-container > div > div.lp-chooser-container > div > div > div > div > div'); 与此 this.empty_lp_group_select = Selector('#link-resources div.nth(12)');;最后一个基于此链接https://devexpress.github.io/testcafe/documentation/test-api/selecting-page-elements/selectors/functional-style-selectors.html#nth