滑动并单击按钮量角器

时间:2015-10-19 08:08:39

标签: angularjs ionic-framework protractor

我需要刷一个项目,需要点击该项目中的按钮,我用这个测试成功但我无法查看该按钮 编写此测试用例以向左滑动并显示一个按钮,然后单击该按钮

it('should delete a product',function(){
        browser.driver.actions().mouseMove({x:-50,y:0}).perform();
browser.sleep(3000);
            });
有人可以帮助我刷卡 删除按钮是

<ion-option-button ng-show="!userService.isOffline" class="button button-assertive button disable-user-behavior" on-tap="deleteLead(leads)">Delete</ion-option-button>

2 个答案:

答案 0 :(得分:1)

我正在做类似的事情,包括离子列表,离子项和离子选项按钮。我的滑动工作,看起来像这样:

var elements = element(by.id("item-list")).all(by.tagName("ion-item"));
var item1 = elements.get(0);
item1.getLocation().then((location) => {
  var startLocation = {
    x: location.x + 300,
    y: location.y + 50
  }
  var newLocation = {
    x: startLocation.x - 100,
    y: startLocation.y
  };
  browser.driver.touchActions()
                .tapAndHold(startLocation)
                .move(newLocation)
                .perform();
}

所以我认为你应该使用touchActions()而不是actions()

顺便说一下,点击工作吗?为什么不使用ng-click?

答案 1 :(得分:0)

如果上述使用tapAndHold的解决方案不适用于任何人,则还有另一种解决方案。您也可以使用flickElement。

const offset = {x: -50, y: 0};
const targetElement = element(by.css(`selector`)); // This should be the element which is visible on your screen and you want to swipe
await browser.driver.touchActions()
    .flickElement(targetElement, offset, 200)
    .perform();

上面的代码是向左滑动元素。 要向右滑动,您可以使用:

const offset = {x: 50, y: 0};