scrollTo метод не может продолжать спускаться до нижней части длинной страницы приложения, остановитесь на средней странице - PullRequest
0 голосов
/ 04 мая 2020

Мой сценарий находится в приложении Android, есть экран «Условия и положения» (нет кнопки go в нижней части), а страница очень длинная.

Когда я использую следующий метод scrollTo, экран прокручивается вниз, но после 30 поворотов в середине страницы «Срок и условия» сеанс завершается и появляется отчет об ошибке, не удается найти нижний идеальный флажок для примите Условия и положения.

Есть ли какое-то решение, чтобы метод scrollTo продолжал спускаться вниз? Я установил это "features.setCapability (" appWaitDuration ", 900000);" И добавьте «Thread.sleep (6000);», но все равно не работает. Невозможно продолжить прокрутку вниз до нижней части страницы, после чего сеанс завершился.

publi c void scrollTo (String text) {
driver.findElementByAndroidUIAutomator ("new UiScrollable (new UiSelector (). Scrollable (true) .instance (0)). ScrollIntoView (new UiSelector () .textContains (\ "" + текст + "\"). instance (0)) "); }

1 Ответ

0 голосов
/ 05 мая 2020

Наконец, я нашел решение, запустите Touchaction 90 шагов, затем прокрутите вниз до нижней страницы. Смотрите мой код:

Dimension size = driver.manage().window().getSize();
		 int starty = (int) (size.height*0.9);
		 int endy = (int) (size.height*0.2);
		 int startx = (int)(size.width/2);
		 
		 do
			{
			try
			{
			 checkBox.click();
			break;
			}
			catch(Exception e)
			{
				for(int i=1;i<=90;i++) {
					 (new TouchAction(driver)).longPress(point(startx, starty)).moveTo(point(startx, endy)).release().perform();
						
				}
				 (new TouchAction(driver)).longPress(point(startx, starty)).moveTo(point(startx, endy)).release().perform();
				 
			}
			} while(true);
...