Appium Отправить URL - PullRequest
       46

Appium Отправить URL

0 голосов
/ 23 сентября 2019

Я использую Python и Android Chrome.И мой WebDriver создан с использованием WebDriver.Remote(host, caps)

Я действительно хочу использовать Chrome в режиме инкогнито, но это кажется невозможным в соответствии с вопросом здесь .

НоЕсть ли обходной путь?Например, могу ли я добавить свой URL в строку URL Chrome вверху?Я пытался driver.find_element_by_id('com.android.chrome:id/url_bar').submit(), но он говорит, что не реализовано.

Ответы [ 2 ]

0 голосов
/ 23 сентября 2019

Это мой обходной путь.Пояснения в комментариях.

# Open Menu/More Button
d.find_element_by_id('com.android.chrome:id/menu_button').click()

# Click On Incognito Mode
d.find_element_by_xpath('/hierarchy/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.ListView/android.widget.LinearLayout[3]').click()

# Find Url Bar on the top
url_bar = d.find_element_by_id('com.android.chrome:id/url_bar')

# Click on it which gives you another view.
url_bar.click()

# Set url and this gives you a list of options
url_bar.set_text('https://a.lianwifi.com/app_h5/jisu/wifiapk/sms.html?c=uvtest&type=1')

# Click the first one. This is the one that leads you to the page with your url.
d.find_element_by_xpath('/hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.FrameLayout/android.view.ViewGroup/android.widget.FrameLayout[2]/android.widget.ListView/android.view.ViewGroup[1]/android.view.ViewGroup').click()
0 голосов
/ 23 сентября 2019

Вы пытаетесь смешать 2 несовместимых подхода к мобильной автоматизации с помощью Appium.

  1. Если вы хотите использовать Selenium API для обычного управления мобильным браузером, например, настольным браузером:

    • InstantiateВаш AppiumDriver, например:

      desired_caps = {}
      desired_caps['platformName'] = 'Android'
      desired_caps['browserName'] = 'chrome'
      driver = webdriver.Remote('http://localhost:4723/wd/hub', desired_caps)
      

      , а затем, чтобы открыть URL, просто используйте driver.get () , например:

      driver.get('http://example.com')
      
  2. Если вы хотите использовать Appium API и относиться к Chrome как к любому другому мобильному приложению, вам нужно предоставить несколько иной набор желаемых возможностей и указать Chrome пакет и действие

    desired_caps = {}
    desired_caps['platformName'] = 'Android'
    desired_caps['appPackage'] = 'com.android.chrome'
    desired_caps['appActivity'] = 'com.google.android.apps.chrome.Main'
    driver = webdriver.Remote('http://localhost:4723/wd/hub', desired_caps)
    

Проверьте Appium -> Примеры кода -> Python статья для получения дополнительной информации об автоматизации мобильных браузеров / приложений, включая фрагменты кода

...