Angularjs – 在Protractor e2e测试中模拟触摸事件

前端之家收集整理的这篇文章主要介绍了Angularjs – 在Protractor e2e测试中模拟触摸事件前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我使用Protractor和Jasmine作为我的移动 Angularjs应用程序.我想在特定元素上测试触摸事件(touchStart / touchEnd等…).就像是:
it('should play video',function(){
    var poster = by.css('.video-poster');
    element(poster).??? //Simulate touch event here
});
更新:

由于Protractor返回Selenium元素查找器而不是角元素,因此您必须使用executeScript()函数在其上调用JavaScript方法,如:

var poster = element(by.css('.video-poster'));
browser.executeScript(
    'angular.element(arguments[0]).triggerHandler("touchstart");',poster);

原版的:

您应该能够触发事件,例如:

element(poster).triggerHandler("touchstart");

如果您在事件对象中需要更多内容,则可以创建一个类似这样的答案:jQuery Trigger Event in AngularJS Karma Test

注意:

似乎Angular没有为你提供像jQuery这样的trigger()方法,只提供了triggerHandler(),如https://docs.angularjs.org/api/ng/function/angular.element所示

猜你在找的Angularjs相关文章