使用AppiumLibrary获取当前URL-RobotFramework

时间:2019-02-21 14:25:29

标签: appium robotframework python-appium

我将AppiumLibrary与RobotFramework一起使用,以测试Android上的网络浏览。在几次测试中,我需要找出单击链接后用户已定向到的当前URL是什么。

基本示例测试用例为:

val bundle = Bundle()

for (entry in data.entries)
    bundle.putString(entry.key, entry.value)

与SeleniumLibrary不同,AppiumLibrary没有完成此操作的关键,因此我必须为python中的获取当前网址创建自己的关键字。我尝试了几件事,查看了AppiumLibrary源代码以及实现了适用于python的Appium Webdriver的Appium-Python-Client模块。但是我还没有找到如何获取chrome正在显示给用户的当前URL。 关于应在哪里寻找解决方案的任何提示?

2 个答案:

答案 0 :(得分:0)

我不熟悉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 - Get url command

答案 1 :(得分:0)

我找不到如何使用新关键字的方法。基本上,我找不到在实现该方法的Appium驱动程序中如何访问Selenium驱动程序,但是在松弛的机器人框架的AppiumLibrary通道中,从katchdoze得到了一个非常简单而优雅的答案。它很简单:

<span>Hi, </span><a href="https://google.com" target="_blank">click </a><span>to get </span><em>amazing </em><span>offers.</span>

希望对别人有帮助。