[我正在尝试使用CasperJS编写测试,以用于在输入中按Enter键是页面的触发器,以使该页面对以其他方式键入输入的文本进行处理。
CasperJS测试的缩写/简化版本:
casper.start('http://localhost:3000/input-demo', function() {
this.sendKeys('#demo-input', 'demo text');
this.sendKeys('#demo-input', '\uE007');
this.test.assertEquals(this.getHTML('#stage'), 'input demo');
});
casper.run();
(我们以casperjs test this-test.js
的身份运行]
我已经确认sendKeys
正在将文本输入到输入中,但是该文本从未显示在#stage
元素中。按键的“原始” PhantomJS实现可以正常工作,其中webpage.sendEvent('keypress', '\uE007')
会触发页面上的事件处理程序。查看casper.sendKeys
的来源,我发现它委托给Casper实例的PhantomJS实例(即sendEvent
)上的line 1613 in the current version of casper.js。
有什么想法吗?任何人都可以使用这些密钥来进行CasperJS测试吗?
[我正在尝试使用CasperJS编写测试,以用于在输入中按Enter键是页面的触发器,以便该页面对输入的文本进行某些处理。缩写/ ...
您可能想将{keepFocus:true}添加到第一个sendKeys调用。如果您看到源代码,但未添加keepFocus,则它将模糊文本区域,这意味着您的第二个sendKeys调用将不接受按键。
bing bong bing bong bing bong bing bong