我的目标是在下拉列表中向下滚动,直到用户可以看到TN等状态。当scrollTo()方法工作时,这在Appium中是可能的,但在当前的Appium构建中,它们被弃用。我试过驾驶。但是什么也没发生。我不太熟悉iOS谓词,但也尝试过使用它们。
到目前为止,替代方案已经尝试过,但都没有奏效:
#1
MobileElement element = wd.findElementByIosUIAutomation(
".tableViews()[0]" + ".scrollToElementWithPredicate(\"name CONTAINS 'TN'\")");
element.tap(1, 1);
#2:
JavascriptExecutor js = (JavascriptExecutor) wd; HashMap <String, String> scrollObject = new HashMap <String, String>();
scrollObject.put("element", ((RemoteWebElement)
wd.findElementByAccessibilityId("TN")).getId()); js.executeScript(
"mobile: scroll", scrollObject);
在我的例子中,我对一个简单的UIListView执行了这项操作,并且从驱动程序开始,它就适用于这个目的。不推荐使用滑动方法:
好了
public static void scrollDownIos(IOSDriver<IOSElement> driver, double scrollPercentageStart, double scrollPercentageEnd)
{
Dimension size = driver.manage().window().getSize();
int x = size.getWidth()/2;
int starty = (int) (size.getHeight() * scrollPercentageStart);
int endy = (int) (size.getHeight() * scrollPercentageEnd);
(new TouchAction(driver)).press(PointOption.point(x, starty))
.waitAction(WaitOptions.waitOptions(Duration.ofMillis(2000)))
.moveTo(PointOption.point(x, endy))
.release()
.perform();
}
好的,我找到了解决方案,但考虑到缺乏解决方案,很难找到:
String path = "UIATarget.localTarget().frontMostApp().mainWindow().popover().tableViews()[0].cells()[\"TN\"]";
driver.executeScript(path + ".scrollToVisible();");
MobileElement state = driver.findElementByIosUIAutomation(path);
state.tap(1, 1);
你能试试这个吗?
String uiAutoLocator = ".tableViews()[0].firstWithPredicate(\"name CONTAINS 'TN'\")";
driver.executeScript(uiAutoLocator + ".scrollToVisible();");
确保定位器uiAutoLocator
产生一个元素。
我使用了下面的方法,但它在方法上显示了错误。此方法在驱动程序类中不可用。因此,请建议是否有其他方法可以滚动到iOS Appium v1。7.2。
我正在自动化混合应用程序。我想点击在页面上看不到的注销,因此我需要向下滚动来点击它。我正在尝试下面的代码,但它不起作用,我正在使用Java client 5.0.4 Appium server 1.7.2和selenium 3.9.1以及Java jdk版本1.8.0_161。谁能帮忙吗
我正在尝试用Java向下滚动APK页面。我正在使用Appium和Selenium。 我试过: 和
我正在Android应用程序上进行自动化测试,需要滚动才能看到需要滚动的字段 我尝试从这里使用以下代码: 运行此代码后,会出现以下错误: 嗯,我知道我已经通过了中的驱动程序,该驱动程序的类型是。 我该怎么解决这个问题?
当我尝试在ios应用程序中执行刷卡操作时,它会显示此错误。 [org.openqa.selenium.未知命令,除滚动之外的所有移动命令都已删除。(警告:服务器没有提供任何stackTrack信息)。] 请给我答案。
我想知道如何向下滚动点击元素在Android使用appium和java? 我在“”中有一个元素列表。由于它有10多个元素,我们需要滑动屏幕以查看以下元素。每个元素都有相同的id,即“”。但他们的文本不同,比如“苹果”、“橘子”、“葡萄”。。。。。。 所有我需要的是滚动并使用其文本单击相关元素(苹果,橙色,葡萄......) 我已经学习了很多教程,但都做不好。我已设法向下滚动屏幕。但当元素位于卷轴的