我想使用AngularJS测试PhantomJS应用程序。第一步是使用username
字段填充登录表单(假设没有其他字段)。
通常(在实际浏览器中)该字段由角(它有ng-model
属性)控制,整个表单具有ng-submit
属性。
所以在PhantomJS脚本中
我看到的是这个按钮被点击了,但是显示的消息表明username
的值是空的。所以我想模型没有经过适当的更新。
我还尝试使用jQuery -相同的结果来设置这些值。
如何将值正确地输入到由角度控制的字段中?
发布于 2014-05-17 09:52:41
PhantomJS提供了可用于实现基本sendKeys
的sendEvent
函数,但您需要首先关注元素:
function sendKeys(page, selector, keys){
page.evaluate(function(selector){
// focus on the text element before typing
var element = document.querySelector(selector);
element.click();
element.focus();
}, selector);
page.sendEvent("keypress", keys);
}
sendKeys(page, "*[name=username]", "tester");
您可能想检查一下量角器,它似乎是为Angular.js测试量身定做的,或者是CasperJS,它构建在PhantomJS的基础上,有一个更好的API。
https://stackoverflow.com/questions/23697644
复制相似问题