我正在尝试滚动它并不适用于Android和iOS,你能帮我解决这个问题。
期待收到你的回复。
尝试使用ScrollTO和ScrollToExact,因为它们现在都已弃用,所以尝试使用它:
String str = "CADILLAC";
driver.findElementByAndroidUIAutomator("new UiScrollable(new UiSelector().scrollable(true).instance(0)).scrollIntoView(new UiSelector().textContains(\""+str+"\").instance(0))").click();
仍然无效。
经历过许多博客,视频,课程内容和材料,没有人解释过,或者有关于如何处理这个问题的具体解决方案
尝试过以下,仍然会收到错误
org.openqa.selenium.WebDriverException:
driver.findElementByAndroidUIAutomator("UiSelector().resourceId(\"current_value_tv\").text(\"All Makes\")").click();
driver.findElementByAndroidUIAutomator("UiSelector().className(\"android.widget.TextView\").text(\"AUSTIN HEALEY\")").click();
org.openqa.selenium.WebDriverException:未知的服务器端错误
处理命令时发生。 (警告:服务器没有 提供任何堆栈跟踪信息) 命令持续时间或超时:45毫秒 构建信息:版本:'2.45.0',修订版:'32a636c',时间:'2015-03-05 22:01:35' 系统信息:主机:'NCA1026471',ip:'192.168.56.1',os.name:'Windows 7',os.arch:'amd64',os.version:'6.1',java.version: '1.8.0_91' 驱动程序信息:io.appium.java_client.android.AndroidDriver 功能[{app = C:\ Appium \ workspace \ Lokesh \ app \ app-release.apk,
appPackage = au.com.carsguide,rotate = true, networkConnectionEnabled = true,noReset = true,warnings = {}, handlesAlerts = true,deviceName = Carsguide产品,版本= 0.17.0, platform = ANDROID,appActivity = au.com.carsguide.activity.HomeActivity, desired = {app = C:\ Appium \ workspace \ Lokesh \ app \ app-release.apk, appPackage = au.com.carsguide, appActivity = au.com.carsguide.activity.HomeActivity,noReset = true, platformVersion = 5.0,browserName =,platformName = Android, deviceName = Carsguide Product,device = Android},acceptSslCerts = true, platformVersion = 21,automationName = selendroid,browserName = selendroid, takesScreenshot = true,javascriptEnabled = true,platformName = android, 设备的Android =}] 会议ID:e90cac4d-38aa-99fd-2dd2-70cc09a0e717 ***元素信息:{Using = -android uiautomator,value = UiSelector()。resourceId(“current_value_tv”)。text(“All Makes”)} at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native 方法)
答案 0 :(得分:0)
您可以尝试以下代码,我在设置页面上尝试此代码..
AppiumDriver driver = new AndroidDriver(new URL(""), cap1);
driver.scrollTo("About phone");
传递应用页面底部的字符串。
driver.scrollTo("Enter your value");
使用适当的等待声明。
答案 1 :(得分:0)
使用driver.swipe而不是driver.scroll
http://automationbyharsh.blogspot.in/
访问此博客,获取有关Android和IOS的滑动方法的完整文档。
答案 2 :(得分:0)
scrollTO方法在Android应用程序的appium中不一致。所以尝试以下方法。 转到型号列表页面
尝试下面的代码片段,这是针对flipkart应用 它可以帮助您使用您的应用程序
driver.findElementById(“com.flipkart.android:id/search_autoCompleteTextView”)。sendKeys(“Reebok Shoes”+“\ n”); 了Thread.sleep(8000);
Dimension size = driver.manage().window().getSize();
System.out.println(size);
int Starty=(int)(size.height*0.90);
int Endy=(int)(size.height*0.10);
int Startx=(int)(size.width*0.50);
WebElement ele_item = driver.findElementByClassName("android.widget.TextView");
Thread.sleep(3000);
do
{
List<WebElement> ele_item2 = driver.findElementsByXPath("//*[@index='2'][@text='Reebok SPEED XT Running Shoes'][@class='android.widget.TextView']");
int size2 = ele_item2.size();
System.out.println(size2);
if(size2>0)
{
driver.findElementByXPath("//*[@index='2'][@text='Reebok SPEED XT Running Shoes'][@class='android.widget.TextView']").click();
break;
}
driver.swipe(Startx, Starty, Startx, Endy, 1000);
Thread.sleep(2000);
} while(ele_item.isDisplayed()==true);