我正在使用appium和java来自动化我的应用程序。我需要在页面中滚动到特定的文本/元素。我两天来一直在努力,已经尝试了许多解决方案,但都不起作用。列出所有的解决方案和场景:
Appium版本:1.4.0 Java客户端版本:4.1.2驱动程序:RemoteWebDriver
解决方案1。1:尝试使用Java脚本。以下是代码:
JavascriptExecutor js = (JavascriptExecutor)driver;
HashMap scrollObjects = new HashMap();
scrollObjects.put("direction", "down");
scrollObjects.put("text", "Yes");
js.executeScript("mobile: swipe", scrollObjects)
解决方案1.2:
WebElement wb = driver.findElement(By.xpath("//*[@resource-id = 'com.practo.fabric:id/toolbar']/following-sibling::android.widget.LinearLayout"));
JavascriptExecutor js = (JavascriptExecutor)driver;
HashMap scrollObjects = new HashMap();
scrollObjects.put("direction", "down");
scrollObjects.put("text", "Yes");
scrollObjects.put("element",wb);
js.executeScript("mobile: swipe", scrollObjects);
这里的问题是我没有列表视图。我有线性布局,所以也尝试过提供线性布局xpath一次,但没有运气。
解决方案二:
org.openqa.selenium.Dimension size =driver.manage().window().getSize();
int starty = (int) (size.height * 0.80);
int endy = (int) (size.height * 0.20);
int startx = size.width / 2;
driver.swipe(startx, starty, startx, endy, 3000);
System.out.println("swiping is done ");
这里driver.swipe是给错误,因为我是远程Web驱动程序。当我尝试使用Android驱动程序它说不建议使用。
在这种情况下我该怎么办?
我从java客户端使用AppiumDriver解决了这个问题。当我使用最新的java客户端版本(5.0.0-BETA6)时,它说“滑动”方法不受欢迎。但它是有效的。
driver.swipe(300, 701, 300, 441, 3000);
还使用TouchAction类解决了这个问题。
TouchAction action = new TouchAction(driver);
action.press(300, 701).waitAction(2000).moveTo(300, 441).release();
action.perform();
注:坐标是硬编码的。
由于appium服务器和java客户端库版本不匹配,您将面临这个问题。请将appium server更新为1.5/1.6,否则您可以使用java客户端库版本2.1.0。
如果您选择使用java-client2。1.0在appium 1.4中,我们有一个名为“scrollTo”的方法,可以滚动到特定的文本。我还使用了您在这个组合的解决方案2中提到的“滑动”。
driver.scrollTo("Like"); //Scrolls to Like text in the app
我们使用以下链接生成了一个访问令牌:https://graph.facebook.com/oauth/access_token?grant_type=client_credentials 它给了我们这样一个访问令牌:AQRtositr-Km47sometextwohp-7heCCDHmKE 但现在,当我们想在本地Facebook应用程序中进行身份验证时,它会生成以下AccessToken:ABBD
当我将移动主题从浅色改为深色时,它会影响react原生应用程序的背景颜色。我只想让它始终保持白色,但当我改变我的移动主题从光明到黑暗时,它会变成白色到黑色。Android版本10 React原生版本0.61.5 React版本16.9.0
当我在模拟器(pixel Android10)中运行我的react原生应用程序时,我注意到当手机设置为暗模式时,应用程序将白色背景改为黑色。这使得很难阅读黑色文本或其他任何东西。有没有一种方法可以强迫应用程序在轻主题下运行,尽管操作系统处于暗模式或轻模式
我有一个用Kotlin(android studio)编写的android应用程序和用React Native编写的应用程序的UI。我的问题是这些能联系在一起吗?如果是,怎么做?还有,你们能发布一些我可以通过的链接吗。 附注:我对react Native一无所知。
我正在Android应用程序上进行自动化测试,需要滚动才能看到需要滚动的字段 我尝试从这里使用以下代码: 运行此代码后,会出现以下错误: 嗯,我知道我已经通过了中的驱动程序,该驱动程序的类型是。 我该怎么解决这个问题?