gpt4 book ai didi

java - 页面滚动没有发生 appium java 客户端

转载 作者:塔克拉玛干 更新时间:2023-11-02 19:49:28 25 4
gpt4 key购买 nike

我正在为我的应用程序进行自动化移动测试。在输入用户名和密码后的登录页面中,键盘 弹出并阻止屏幕上的所有内容。所以它抛出使用给定的搜索参数 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);

我无法解决这个问题.. 你能给我建议一些示例代码来解决这个问题吗?

最佳答案

要隐藏键盘,您可以使用以下方法 driver.hideKeyboard() 。这适用于 AppiumDriver。

输入您的用户名和密码后,您可以使用这行代码:

driver.hidekeyboard();

关于java - 页面滚动没有发生 appium java 客户端,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46238332/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com