Phantomjs 模拟角色进入因果报应

Phantomjs 模拟角色进入因果报应,phantomjs,functional-testing,keyboard-events,karma-runner,Phantomjs,Functional Testing,Keyboard Events,Karma Runner,我有一个jQuery插件,它用输入元素限制字符输入。此插件(类似于)挂钩到keydown和keyup,以允许某些字符在特定条件下阻止事件: jqueryInputElement.on('keydown',函数(事件){ 如果(错误居中(事件)) event.stopPropagation(); event.preventDefault(); }); ErrorThingEntered使用事件中的字符代码和修改器键以及当前输入值(本例中缺少)执行一些古怪的操作。出于这个原因,我需要为不同的设备模

我有一个jQuery插件,它用输入元素限制字符输入。此插件(类似于)挂钩到keydown和keyup,以允许某些字符在特定条件下阻止事件:

jqueryInputElement.on('keydown',函数(事件){
如果(错误居中(事件))
event.stopPropagation();
event.preventDefault();
});
ErrorThingEntered
使用事件中的字符代码和修改器键以及当前输入值(本例中缺少)执行一些古怪的操作。出于这个原因,我需要为不同的设备模拟来自Karma的角色输入,以便我可以在按下键和按下键等之后测试值

我知道我可以使用jQuery触发器或类似工具进行模拟,但在深入研究了不同设备上的哪些键映射到哪些字符代码之后,我得出结论,触发这些低级事件并不能解决我的问题,测试并没有真正测试任何东西

我真的想要这样的东西:

描述“你好,世界”,->
元素=未定义
每次之前->
元素=$(“”)
元素customPlugin()
元素focus()
每次之后->
元素。删除()
描述“键盘事件工作”,->
它‘接收一些输入’,->
karma.user.press“4”#不确定这部分
expect element.val()
.托比'4'
它“尊重粘贴命令”,->
karma.system.pasteBuffer=“一些要粘贴的文本”#以及此部分
karma.user.pastes()#。。。这部分呢
expect element.val()
.toBe“一些要粘贴的文本”

Karma(在我的例子中是运行phantomJS)是否可能做到这一点?

我认为Karma可能不是这类测试的工具。我见过一些人谈论String.charCodeAt(),所以我会试试这个,但也许我应该看看另一个工具来运行这些类型的测试。只是想知道,您是否尝试过触发键盘事件?