使用 AppiumLibrary - RobotFramework 获取当前 URL
Get current URL with AppiumLibrary - RobotFramework
我将 AppiumLibrary 与 RobotFramework 结合使用来测试 Android 上的网页浏览。在几个测试中,我需要找出用户在单击 link 后被定向到的当前 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 没有关键字来执行此操作,因此我必须为 get current url in python 创建自己的关键字.我已经尝试了几种方法来查看 AppiumLibrary 源代码以及为 python 实现 Appium Webdriver 的 Appium-Python-Client 模块。但是我还没有找到如何获取 chrome 显示给用户的当前 url。
关于我应该在哪里寻找解决方案的任何提示?
我不熟悉 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 驱动程序中访问 Selenium 驱动程序,但我在 slack robotframework 的 AppiumLibrary 频道中从 katchdoze 得到了一个简单而优雅的答案。很简单:
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}
希望对其他人有所帮助。
我将 AppiumLibrary 与 RobotFramework 结合使用来测试 Android 上的网页浏览。在几个测试中,我需要找出用户在单击 link 后被定向到的当前 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 没有关键字来执行此操作,因此我必须为 get current url in python 创建自己的关键字.我已经尝试了几种方法来查看 AppiumLibrary 源代码以及为 python 实现 Appium Webdriver 的 Appium-Python-Client 模块。但是我还没有找到如何获取 chrome 显示给用户的当前 url。 关于我应该在哪里寻找解决方案的任何提示?
我不熟悉 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 驱动程序中访问 Selenium 驱动程序,但我在 slack robotframework 的 AppiumLibrary 频道中从 katchdoze 得到了一个简单而优雅的答案。很简单:
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}
希望对其他人有所帮助。