2015-08-19 3 views
1

Я пытаюсь получить доступные контексты в гибридном приложении iOS. Однако, когда яКак получить контексты в приложении iOS

Set<String> text = ((IOSDriver) driver).getContextHandles(); 
    System.out.println(text); 

Я получаю ниже ошибки:

org.openqa.selenium.remote.RemoteWebDriver cannot be cast to io.appium.java_client.IOSDriver 

Когда я пытаюсь создать AppiumDriver с:

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

Это не позволяет создавать AppiumDriver. Как получить контексты в приложении iOS.

ответ

0

Заявить драйвер как тип AppiumDriver. Используйте эту ссылку для IOSDriver. Тогда это сработает. На данный момент переменная драйвера имеет тип remotewebdriver.

Так следующий код будет работать

AppiumDriver driver; 

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

Set<String> text = ((IOSDriver) driver).getContextHandles(); 
    System.out.println(text); 

AppiumDriver абстрактна драйвер, который можно использовать в качестве опорного базового типа к реализованным драйверу ли IOS или Andriod

+0

Спасибо. Я попробовал код, который вы предложили. Тем не менее, это все равно дало мне ту же ошибку. Затем я изменил метод driver.getContextHandles(); к driver.getContext(); Далее он вернул мне только контекст NATIVE_APP, в котором присутствует WebView, присутствующий в приложении. Любая идея, почему второй метод работал и почему он не возвращает мне WEBVIEW. – MKay

+0

Какую версию клиента appium java вы используете? – Sham332

+0

Я использую Java Client 2.1.0 appium версии 1.4.8 и iPad 8.1.3. – MKay

Смежные вопросы