相同的应用程序代码不适用于相同的应用程序

时间:2018-07-12 10:10:14

标签: java ruby appium

我正在使用Appium自动化应用程序。我有一个混合应用程序,它在没有本地屏幕的情况下基于react-native进行工作,整个代码可以正常工作。如果有启动屏幕,则相同的代码将不起作用。我收到Element not found错误。我曾尝试使用javaruby这两种语言。我曾经尝试过隐藏启动画面,但是它在每个版本中都很难替换启动画面以实现自动化。启动画面是在Java代码上制作的。 enter image description here

enter image description here

2 个答案:

答案 0 :(得分:0)

在应用启动时尝试使用隐式或显式等待

//implict wait
driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);

//or use explict wait
WebDriverWait wait = new WebDriverWait(driver, 10);
WebElement element = wait.until(ExpectedConditions.elementToBeClickable(By.id("someid"))); 

答案 1 :(得分:0)

您可以使用Java的Thread.sleep()方法来使您的Appium代码等待直到显示特定元素。

示例:

public void sampleTest() throws InterruptedException {
    Thread.sleep(5000L);

    // Your sample Appium codes
}

这将始终允许Appium服务器等待您通过Thread.sleep()方法传递的时间,直到可以找到所需的元素为止