我是移动自动化的新手,但不是一般的自动化新手(使用过web)。我正在构建一个需要两个手指缩放的自动化。我已经翻阅了文档,试图找到解决方案,但没有找到。有多点触摸,但它是一个错误的名称,因为它似乎只有一个手指快速连续地实现许多不同的触摸。像这样的东西似乎不起作用:
client.touchMultiPerform([
[{ action: 'press', options: { x: 300, y: 100 } },
{ action: 'moveTo', options: { x: 100, y: 100 } },
{ action: 'release' },
],
[{ action: 'press', options: { x: 330, y: 100 } },
{ action: 'moveTo', options: { x: 400, y: 100 } },
{ action: 'release' },
],
]);这将执行第一个触摸操作,然后是第二个触摸操作。有什么方法可以做到这一点吗?也许是个插件?或者我只是不理解一个非常简单的解决方案?
下面是我构建的一个更完整的示例:
var webdriverio = require('webdriverio');
var expect = require('chai').expect;
var config = require('./helpers/desiredCapabilities').options;
var client = webdriverio.remote(config);
describe('Android Script Testing', function () {
before(function () {
this.timeout(5000);
return client.init();
});
afterEach(function(){
this.timeout(5000);
});
it("should just click on things",async function(){
this.timeout(0);
client.click("#selectRegionButton")
client.waitForVisible("#Account", 5000).click("#Account");
client.touchAction(
[
[{ action: 'press', options: { x: 300, y: 100 } },
{ action: 'moveTo', options: { x: 100, y: 100 } },
{ action: 'release' }],
[{ action: 'press', options: { x: 330, y: 100 } },
{ action: 'moveTo', options: { x: 400, y: 100 } },
{ action: 'release' }],
]);
});
});发布于 2018-12-19 13:38:01
我不确定您在这里使用的是Appium,但是如果有Appium在使用中,那么缩放和收缩只能在所需功能中与Espresso自动化名称一起使用。
相同的是已确认的here,我也在Appium Java binding中使用Espresso Automation name测试了相同的内容。
尝试使用相同的自动化名称,您的代码应该可以工作。
此外,您还在代码中使用了client.touchAction,而不是使用client.touchMultiPerform。
https://stackoverflow.com/questions/53748758
复制相似问题