Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Angularjs 如何触发';swipeleft';e2e测试中的事件(量角器)_Angularjs_Protractor_Swipe_E2e Testing - Fatal编程技术网

Angularjs 如何触发';swipeleft';e2e测试中的事件(量角器)

Angularjs 如何触发';swipeleft';e2e测试中的事件(量角器),angularjs,protractor,swipe,e2e-testing,Angularjs,Protractor,Swipe,E2e Testing,例如,我有以下应用程序的html代码: <div class="swipe-cover" ng-swipe-left="func()"></div> 但它不起作用 如果我使用“click”而不是“swipleft”,它会起作用 如何触发e2e测试的“swipeleft”事件?使用一系列动作模拟手势效果更好: driver.actions() .mouseDown(element(by.css('.filter-editorial-rating .ngrs

例如,我有以下应用程序的html代码:

<div class="swipe-cover" ng-swipe-left="func()"></div>
但它不起作用

如果我使用“click”而不是“swipleft”,它会起作用


如何触发e2e测试的“swipeleft”事件?

使用一系列动作模拟手势效果更好:

driver.actions()
        .mouseDown(element(by.css('.filter-editorial-rating .ngrs-handle-max')))
        .mouseMove({x: -50, y: 0}) // try different value of x
        .mouseUp()
        .perform();

如果-50确实有效,请参阅帮助您计算正确的值。

这是我找到的解决方案

var card = element(by.css('#card-container'));

browser.actions()
  .mouseMove(card, {x: 100, y: 100}) 
  .mouseDown()
  .mouseMove({x: -200, y: 0})
  .perform();

browser.sleep(500);

browser.actions()
  .mouseUp()
  .perform();

我想尝试一下,但是你试过了吗:.triggerHandler(“touchstart”);我试过了,所以没用。
var card = element(by.css('#card-container'));

browser.actions()
  .mouseMove(card, {x: 100, y: 100}) 
  .mouseDown()
  .mouseMove({x: -200, y: 0})
  .perform();

browser.sleep(500);

browser.actions()
  .mouseUp()
  .perform();