Używam appiumlibrary z robotframem, aby przetestować przeglądanie stron internetowych na Androida. W kilku testach muszę dowiedzieć się, jaki jest bieżący adres URL, który użytkownik został skierowany do po kliknięciu linku.

Podstawowym przykładem testowym jest:

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}

W przeciwieństwie do Seleniumlibrary, Appiumlibrary nie ma nabywa do tego, więc muszę stworzyć własne słowo kluczowe dla uzyskać aktualny adres URL w Pythonie. Próbowałem kilku rzeczy patrząc na kod źródłowy appiumlibrary, a także moduł klienta Appium-Python-Python, który implementuje Appum WebDriver dla Pythona. Ale nie znalazłem, jak uzyskać aktualny adres URL, który chromuje użytkownikowi. Jakieś wskazówki, gdzie powinienem spojrzeć na rozwiązanie?

0
juan noguera 21 luty 2019, 17:25

2 odpowiedzi

Najlepsza odpowiedź

Nie mogłem znaleźć jak pracować z nowym słowem kluczowym. Zasadniczo nie mogłem znaleźć tego, jak uzyskać dostęp do kierowcy Selenium w ramach kierowcy Appium, który wdraża dla tego metodę, ale dostałem znacznie prostą i elegancką odpowiedź z Katchdeze w appiumlibrary kanał luźnych robotów. Jest tak prosty jak:

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}

Mam nadzieję, że to pomaga innym.

0
juan noguera 22 luty 2019, 13:06

Nie znam appium, ale z tego, co znam ramy robota, powinny działać:

Appiumextended.py.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 - Uzyskaj polecenie URL

0
Sameem 21 luty 2019, 17:52