Как использовать масштабирование двумя пальцами в Appium / webdriver-io - PullRequest
0 голосов
/ 12 декабря 2018

Я новичок в мобильной автоматизации, но не новичок в автоматизации в целом (работал с веб).Я строю автоматизацию, где требуется увеличение двумя пальцами.Я просмотрел документацию, пытаясь найти решение, и не могу его найти.Существует Multi-Touch, но он ошибочен, потому что, кажется, реализует много разных касаний одним пальцем только в быстрой последовательности.Нечто подобное не работает:

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' }],
         ]);

  });
});

1 Ответ

0 голосов
/ 19 декабря 2018

Я не уверен, что вы используете Appium здесь, но если используется Appium, то масштабирование и масштабирование будут работать только с Espresso Имя автоматизации в требуемых возможностях.

То же самое подтверждается здесь и я также проверил то же самое, используя Espresso Имя автоматизации в привязке Appium Java.

Попробуйте использовать то же имя автоматизации, и ваш код должен работать.

Кроме того, выиспользовали client.touchAction в своем коде, вместо этого используйте client.touchMultiPerform.

...