【发布时间】:2017-09-19 15:26:50
【问题描述】:
我正在为我的应用程序进行自动化移动测试。在登录页面输入用户名和密码后,键盘 弹出并阻止屏幕中的所有内容。所以它抛出了使用给定的搜索参数 org.openqa.selenium.NoSuchElementException 在页面上找不到元素: 要启用滚动或屏幕触摸,我尝试了很多方法。
1)
WebElement element1 = driver.findElement(MobileBy.AccessibilityId("btnLogin"));
int x = element1.getLocation().getX();
int y = element1.getLocation().getY();
TouchAction action = new TouchAction((PerformsTouchActions) driver);
action.press(x,y).moveTo(x,y-90).release().perform();
2)
WebElement element1 = driver.findElement(MobileBy.AccessibilityId("btnLogin"));
((JavascriptExecutor)driver).executeScript("arguments[0].scrollIntoView(true);",element1);
3)
TouchAction action = new TouchAction((PerformsTouchActions) driver);
WebElement element1 = driver.findElement(MobileBy.AccessibilityId("com.a.b:id/imageView"));
WebElement element2 = driver.findElement(MobileBy.AccessibilityId("com.a.b:id/btnLogin"));
action.press(element1).moveTo(element2).release();
4)
JavascriptExecutor js = (JavascriptExecutor) driver;
HashMap<String, String> scrollObject = new HashMap<String, String>();
scrollObject.put("direction", "up");
scrollObject.put("element", "btnLogin");
js.executeScript("mobile: scroll", scrollObject);
5)
((AndroidDriver) driver).context("NATIVE_APP");
WebElement element = driver.findElementById("btnLogin");
int x = element.getSize().getWidth();
int xEnd = 0;
int yStart = element.getSize().getHeight()/2;
((AndroidDriver) driver).swipe(x, yStart, xEnd, yStart, 500);
我无法解决此问题..您能否建议我提供一些示例代码来解决此问题。
【问题讨论】: