Получить текущий URL с AppiumLibrary - RobotFramework - PullRequest
0 голосов
/ 21 февраля 2019

Я использую AppiumLibrary с RobotFramework для тестирования просмотра веб-страниц на Android.В нескольких тестах мне нужно выяснить, какой текущий URL был направлен пользователю после нажатия на ссылку.

Основной пример теста:

Test Appium
   AppiumLibrary.Open Application  http://localhost:4723/wd/hub  platformName=Android  platformVersion=6.0.1  deviceName=0815f853b6d22c05  browserName=default
   AppiumLibrary.Go To Url  https://www.amazon.com/
   sleep  5s
   ${current_url}  get current url
   log to console  ${current_url}

В отличие от SeleniumLibrary, AppiumLibrary не имеет клавиш для этого, поэтому мне нужно создать собственное ключевое слово для получить текущий URL в питоне.Я попробовал несколько вещей, глядя на исходный код AppiumLibrary, а также на модуль Appium-Python-Client, который реализует Appium Webdriver для python.Но я не нашел, как получить текущий URL, который Chrome показывает пользователю.Любые советы о том, где я должен искать решение?

Ответы [ 2 ]

0 голосов
/ 22 февраля 2019

Я не смог найти способ заставить его работать с новым ключевым словом.По сути, я не смог найти, как получить доступ к драйверу Selenium в драйвере Appium, который реализует метод для этого, но я получил очень простой и элегантный ответ от katchdoze в канале AppiumLibrary о слабой робототехнике.Это так же просто, как:

Test Appium
   AppiumLibrary.Open Application  http://localhost:4723/wd/hub  platformName=Android  platformVersion=6.0.1  deviceName=0815f853b6d22c05  browserName=Chrome
   AppiumLibrary.Go To Url  https://www.amazon.com/
   sleep  5s
   ${current_url}  execute script  return window.top.location.href.toString()
   log to console  ${current_url}

Надеюсь, что это помогает другим.

0 голосов
/ 21 февраля 2019

Я не знаком с Appium, но из того, что я знаю о среде Robot, должно работать следующее:

AppiumExtended.py

from appium import webdriver

def get_url():
    url = driver.current_url()
    return url

testScript.robot

*** Settings ***
Library  /path/to/AppiumExtended.py
Library  Other libraries

*** Test cases ***
Test to get url
    ${url}  Get Url   
    Log to console  ${url}

Appium - Получить команду url

...