Ошибка таймаута ADB в Appium (Android) с использованием Java - PullRequest
0 голосов
/ 05 апреля 2019

Это мой код.Он должен открыть браузер, перейти к Google и введите «Appium» в поле поиска.Он открывает браузер Chrome и переходит к Google, но после этого он показывает ошибку напрямую, после ожидания в течение нескольких секунд.

public class androidDevice {

AppiumDriver driver;
@BeforeTest
public void Appium_device() throws MalformedURLException, Exception {
    {

        DesiredCapabilities capabilities = new DesiredCapabilities();


          capabilities.setCapability("deviceName", "43f0a801");

          capabilities.setCapability("chromedriverExecutable", "D:\\Soumya\\Eclipse\\chromedriver.exe");


            capabilities.setCapability(CapabilityType.VERSION, "8.1.0");

          capabilities.setCapability("platformName", "Android");

         capabilities.setCapability("appPackage", "com.android.chrome");
         capabilities.setCapability("appActivity", "com.google.android.apps.chrome.Main");



          driver = new AndroidDriver(new URL("http://0.0.0.0:4723/wd/hub"),capabilities);

           driver.manage().timeouts().implicitlyWait(30, TimeUnit.SECONDS);

    }
    }
    @Test    
    public void launch() throws Exception {
              try {
    //driver.get("https://us.justdial.com");
                  driver.get("https://www.google.com/");
                driver.manage().timeouts().implicitlyWait(30, TimeUnit.SECONDS);
                driver.findElement(By.id("com.android.chrome:id/search_box_text")).sendKeys("Appium");
                  driver.quit();

    System.out.println("site hit");
}
catch (Exception e) { 
    System.out.println("site not accessed");
    throw (e);
    // TODO: handle exception
}

          }

}

Ожидаемый результат: он должен открытьсябраузер перейдет в Google и должен ввести «Appium» в поле поиска.

Фактический результат: Appium Result

FAILED: launch org.openqa.selenium.WebDriverException: An unknown
 server-side error occurred while processing the command. Original
 error: Error attempting to start URI. Original error: Error: Error
 executing adbExec. Original error: 'Command
'C\:\\Users\\soumya.katti\\android-sdks\\platform-tools\\adb.exe -P
 5037 -s 43f0a801 shell am start -W -a android.intent.action.VIEW -d
 https\://us.justdial.com com.android.chrome' timed out after 20000ms';
 Stderr: ''; Code: 'null' (WARNING: The server did not provide any
 stacktrace information)

Eclipse Result:

org.openqa.selenium.WebDriverException: An unknown server-side error occurred while processing the command. Original error: Error attempting to start URI. Original error: Error: Error executing adbExec. Original error: 'Command 'C\:\\Users\\soumya.katti\\android-sdks\\platform-tools\\adb.exe -P 5037 -s 43f0a801 shell am start -W -a android.intent.action.VIEW -d https\://us.justdial.com com.android.chrome' timed out after 20000ms'; Stderr: ''; Code: 'null' (WARNING: The server did not provide any stacktrace information)
Command duration or timeout: 40.05 seconds

1 Ответ

0 голосов
/ 06 апреля 2019

У вас есть неявное ожидание 30 секунд. Это означает, что у WebDriver есть 30 секунд, чтобы найти определенный элемент, определенный в DOM. Если этого не произойдет, то тест не пройден, за исключением того, что вы показали. Если при попытке выполнить задание время ожидания истекло, вероятно, это можно исправить, увеличив неявное ожидание:

driver.manage().timeouts().implicitlyWait(60, TimeUnit.SECONDS);

установите значение 60, 120 или разумное количество времени, исходя из вашего опыта с этими тестами.

Обратите внимание, что неявное ожидание для каждой команды для WebDriver, а не для всего теста, поэтому оно не должно быть таким большим.

Другая возможность состоит в том, что искомый элемент не найден в макете страницы. Может быть, это не видно в данный момент, может быть, вы находитесь в другом экране, чем вы ожидаете.

Тщательно проверьте выполнение контрольного примера, чтобы увидеть, что происходит. Попробуйте добавить несколько таймеров, чтобы увидеть, когда начинается неявное ожидание.

Подробнее о неявном и явном ожидании можно узнать по адресу WebDriver: расширенное использование и Неявное ожидание - Appium .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...