Yan*_*aim 8 jasmine angularjs angularjs-e2e protractor
我使用Protractor和Jasmine作为我的移动Angularjs应用程序.我想在特定元素上测试触摸事件(touchStart/touchEnd等...).就像是:
it('should play video', function(){
var poster = by.css('.video-poster');
element(poster).??? //Simulate touch event here
});
Run Code Online (Sandbox Code Playgroud)
由于Protractor返回Selenium元素查找器而不是角元素,因此您必须使用该executeScript()函数在其上调用JavaScript方法,例如:
var poster = element(by.css('.video-poster'));
browser.executeScript(
'angular.element(arguments[0]).triggerHandler("touchstart");', poster);
Run Code Online (Sandbox Code Playgroud)
您应该能够触发事件,例如:
element(poster).triggerHandler("touchstart");
Run Code Online (Sandbox Code Playgroud)
如果你在事件对象中需要更多的东西,你可以创建一个像这样的答案:AngularJS Karma Test中的jQuery触发事件
注意:
根据https://docs.angularjs.org/api/ng/function/angular.element,似乎Angular不提供trigger()像jQuery这样的方法.triggerHandler()
| 归档时间: |
|
| 查看次数: |
4566 次 |
| 最近记录: |