Переключение между вкладками браузера - Appium - PullRequest
0 голосов
/ 30 октября 2018
    # get current window handle
    window_before = self.driver.window_handles[0]

    # click on a button which opens a new tab
    self.driver.find_element(*EditLocators.preview_button).click()

    # wait for new tab to open
    self.wait_for_new_tab()

    # get the new tab's window handle
    window_after = self.driver.window_handles[1]

    # switch to new tab
    self.driver.switch_to.window(window_after)

    "do some actions in new tab"

    # close that new tab
    self.driver.close()

    # switch back to original tab
    self.driver.switch_to.window(window_before)

Выше приведен фрагмент кода моих тестов appium веб-сайта в браузере Chrome, который запускается на физическом устройстве (Android). На веб-странице есть кнопка, которая открывает новую вкладку. Я должен переключаться между этими двумя вкладками, но я получаю эту ошибку:

selenium.common.exceptions.WebDriverException: Message: unknown error: 'name' must be a string
(Session info: chrome=69.0.3497.100)
(Driver info: chromedriver=2.38.552522 
(437e6fbedfa8762dec75e2c5b3ddb86763dc9dcb),platform=Linux 4.15.0-38-generic x86_64)

в этой строке:

self.driver.switch_to.window(window_after)

моя версия сервера appium - 1.8.1, а версия клиента appium python - 0.28.

Когда я печатал переменные "window_before" и "window_after", результатом был CDwindow-0, CDWindow-1 соответственно

1 Ответ

0 голосов
/ 06 ноября 2018

Обновление appium sever с 1.8.1 до 1.9.1 решило проблему

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