我需要刷一个项目,需要点击该项目中的按钮,我用这个测试成功但我无法查看该按钮 编写此测试用例以向左滑动并显示一个按钮,然后单击该按钮
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>
答案 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};