java - 滚动方法不在android应用程序中执行滚动
问题描述
下面是代码:
AndroidDriver androidDriver;
public void scrollDown() {
androidDriver.getCapabilities().getCapability("hub");
androidDriver.manage().window().getSize();
Dimension size = androidDriver.manage().window().getSize();
int startX = size.width / 2;
int startY = (int) (size.height * 0.60);
int endY = (int) (size.height * 0.30);
new TouchAction(androidDriver).longPress(startX, startY).moveTo(startX, endY).release().perform();
}
我尝试包含一个 waitAction 但仍然无法正常工作:
new TouchAction(androidDriver).longPress(startX, startY).waitAction(Duration.ofSeconds(3)).moveTo(startX, endY).release().perform();
我什至尝试包括刷卡,但它不刷卡:
// new TouchAction(androidDriver)
// .press(PointOption.point(startX, startY))
// .waitAction(WaitOptions.waitOptions(Duration.ofSeconds(3)))
// .moveTo(PointOption.point(startX, endY))
// .release().perform();
基本上 longPress 中的 startX 和 startY 是红色下划线,但这段代码之前确实有效,但现在我得到一条红线。另一件事是我更改了 Android 驱动程序,因此它从在 Serenity 属性中设置的“集线器”获取功能,如下所示(xxx 输出值):
webdriver.driver= appium
appium.hub = http://xxx.xxx.xxx.xxx:xxx/wd/hub
appium.automationName=appium
appium.platformName = Android
appium.app= ./xxxdebug.apk
appium.appPackage = xxx.debug
appium.appWaitActivity = xxx.StartupActivity
#appium.browserName =
serenity.take.screenshots= AFTER_EACH_STEP
webdriver.timeouts.implicitlywait = 10000
appium.fullReset=true
appium.noReset=false
logging = "VERBOSE"
解决方案
我相信您的问题在于您没有使用 PointOption 参数:
TouchAction touchAction = new TouchAction(driver);
touchAction.longPress(PointOption.point(startx, starty))
.moveTo(PointOption.point(endx, endy))
.release()
.perform();
推荐阅读
- youtube-data-api - 通过 google-api-php-client 来自 Youtube API 的 accessNotConfigured 错误 (403)
- python - 求解带约束的线性方程
- c# - ForAllMembers 覆盖已定义的忽略规则
- java - MongoCollection.watch() 不会立即观看
- python - 列表中最大 n 个元素的项目和索引
- javascript - 我有一个代码无法识别的声明变量。为什么是这样?
- search - Microsoft.Azure.CognitiveServices.Search.EntitySearch.EntitySearchClient.Entities.Search(位置:
:? :? - mdm - 如何将内部应用“提升”到更高级别的组织?
- netty - 未为 netty 中的每个请求创建新的处理程序
- mysql - 奇怪的查询,不确定是否需要嵌套?这里有什么问题?