Мне интересно, сталкивался ли кто-нибудь с этой проблемой в течение последнего года (из-за изменений, примененных к клиенту io.Appium за последние несколько лет.) У меня возникает проблема, когда я пытаюсь инициализировать Dimensions внутриметод перед выполнением общего пролистывания в мобильном браузере.Согласно StackTrace, ошибка начинается, когда я инициализирую свой объект Dimensions, и я получаю сообщение об ошибке:
"org.openqa.selenium.WebDriverException: unknown error: operation is unsupported on Android
(Session info: chrome=68.0.3440.91)
(Driver info: chromedriver=2.38.552522 (437e6fbedfa8762dec75e2c5b3ddb86763dc9dcb),platform=Windows NT 10.0.17134 x86_64) (WARNING: The server did not provide any stacktrace information)
Command duration or timeout: 0 milliseconds"
Я посмотрел вокруг на обсуждение темы, и решение - это то, что я 'м в настоящее время используется в соответствии с Appium Docs при использовании контекста веб-просмотра.Есть ли другой фактор, который я не рассматриваю?
Вот мой метод, где я инициализирую свое измерение: size:
@SuppressWarnings("rawtypes")
public void swipeVertical (double startPercentage, double finalPercentage, int duration) {
size = driver.manage().window().getSize();
int width = (int) (size.width/2);
int startPoint = (int) (size.getHeight() * startPercentage);
int endPoint = (int) (size.getHeight() * finalPercentage);
new TouchAction(driver)
.press(PointOption.point(width, startPoint))
.waitAction(WaitOptions.waitOptions(Duration.ofMillis(duration)))
.moveTo(PointOption.point(width, endPoint))
.release()
.perform();
}
А вот StackTrace:
org.openqa.selenium.WebDriverException: unknown error: operation is unsupported on Android
(Session info: chrome=68.0.3440.91)
(Driver info: chromedriver=2.38.552522 (437e6fbedfa8762dec75e2c5b3ddb86763dc9dcb),platform=Windows NT 10.0.17134 x86_64) (WARNING: The server did not provide any stacktrace information)
Command duration or timeout: 0 milliseconds
Build info: version: '3.13.0', revision: '2f0d292', time: '2018-06-25T15:24:21.231Z'
System info: host: 'LAPTOP-L1BFDSGL', ip: '192.168.174.2', os.name: 'Windows 10', os.arch: 'x86', os.version: '10.0', java.version: '1.8.0_181'
Driver info: io.appium.java_client.android.AndroidDriver
Capabilities {appiumURL: http://127.0.0.1:5000/wd/hub, browserName: Chrome, databaseEnabled: false, desired: {appiumURL: http://127.0.0.1:5000/wd/hub, browserName: Chrome, deviceName: device1, newCommandTimeout: 4000, noReset: false, platformName: Android, systemPort: 8200, udid: 192.168.174.101:5555}, deviceManufacturer: Genymotion, deviceModel: Samsung, deviceName: 192.168.174.101:5555, deviceScreenSize: 1440x2560, deviceUDID: 192.168.174.101:5555, javascriptEnabled: true, locationContextEnabled: false, networkConnectionEnabled: true, newCommandTimeout: 4000, noReset: false, platform: LINUX, platformName: Android, platformVersion: 6.0, systemPort: 8200, takesScreenshot: true, udid: 192.168.174.101:5555, warnings: {}, webStorageEnabled: false}
Session ID: 4b662163-cef7-439b-bfd1-998dd6f8e5cc
at org.openqa.selenium.remote.ErrorHandler.createThrowable(ErrorHandler.java:214)
at org.openqa.selenium.remote.ErrorHandler.throwIfResponseFailed(ErrorHandler.java:166)
at org.openqa.selenium.remote.http.JsonHttpResponseCodec.reconstructValue(JsonHttpResponseCodec.java:40)
at org.openqa.selenium.remote.http.AbstractHttpResponseCodec.decode(AbstractHttpResponseCodec.java:80)
at org.openqa.selenium.remote.http.AbstractHttpResponseCodec.decode(AbstractHttpResponseCodec.java:44)
at org.openqa.selenium.remote.HttpCommandExecutor.execute(HttpCommandExecutor.java:158)
at io.appium.java_client.remote.AppiumCommandExecutor.execute(AppiumCommandExecutor.java:231)
at org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:548)
at io.appium.java_client.DefaultGenericMobileDriver.execute(DefaultGenericMobileDriver.java:46)
at io.appium.java_client.AppiumDriver.execute(AppiumDriver.java:1)
at io.appium.java_client.android.AndroidDriver.execute(AndroidDriver.java:1)
at org.openqa.selenium.remote.RemoteWebDriver$RemoteWebDriverOptions$RemoteWindow.getSize(RemoteWebDriver.java:809)
at AppiumDriverSetUp_Lib.PageObject.swipeVertical(PageObject.java:45)
at BaseTest.BaseTest.testActivation(BaseTest.java:62)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at java.lang.Thread.run(Thread.java:748)
... Removed 20 stack frames
Драйвер: AppiumDriver
Браузер: Chrome
io.appium java Клиент: 6.1.0
Контекст: веб-просмотр / по умолчанию
(Примечание: Я хотел бы сохранить контекст по умолчанию, если это применимо.)