如何使用Robot Framework将URL与其中的可变部分进行匹配

时间:2017-02-02 13:19:09

标签: regex url robotframework

我正在尝试确保在使用Robot Framework进行某些操作后,浏览器URL与特定模式匹配(并且具有特定值),但每次都会更改生成的页面URL的一部分,并且这些可变部分会使脚本失败,我似乎无法让脚本通过。

这是我所追求的一个假设的例子:

网址:https://www.google.com/?gfe_rd=cr&ei=eCaTWLf0IO3k8AfGyouIBA#q=Robot+Framework

在此URL中,“ei”参数(“eCaTWLf0IO3k8AfGyouIBA”)的内容是可变的。我希望脚本只是忽略该参数值,并且检查通过提供的其他条件(与此问题无关)得到满足。所以,也许使用正则表达式,类似于:

网址:https://www.google.com/?gfe_rd=cr&ei=.*#q=Robot+Framework

我应该如何让这样的事情发挥作用?

2 个答案:

答案 0 :(得分:3)

我得到了它的工作。问题是在Robot Framework中,转义是使用双反斜杠(' \\')而不是一个反斜杠完成的。将行更改为:

Should Match Regexp    ${url}  https://www\\.google\\.com/\\?gfe_rd=cr&ei=.*#q‌​=Robot\\+Framework

使脚本通过。

答案 1 :(得分:0)

请尝试以下操作:

*** Settings ***
Library    Selenium2Library

*** Test Cases ***
Test
    Do Your Stuff Here With Browser
    ${url}    Get Location
    Should Match Regexp    ${url}    https://www.google.com/.*