gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-03 06:52:29 25 4
gpt4 key购买 nike

我在我的移动 Angularjs 应用程序中使用 Protractor 和 Jasmine。我想测试特定元素上的触摸事件(touchStart/touchEnd 等...)。像这样的东西:

it('should play video', function(){
var poster = by.css('.video-poster');
element(poster).??? //Simulate touch event here
});

最佳答案

更新:

由于 Protractor 返回 Selenium 元素查找器而不是 Angular 元素,因此您必须使用 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 - 在 Protractor e2e 测试中模拟触摸事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23720823/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com