在 robotsframework 的 .robot 文件中,我偶然发现了一段代码,其中变量用“”括起来。
例如:
IF '${var_name}' == '${FALSE}'
Return from keyword
END
Run Code Online (Sandbox Code Playgroud)
知道它有什么用处或者它是否正确?
真挚地
我在表单中有一个用户ID文本字段.我需要在ex: "abc_23022014_061600""用户ID"文本字段中输入一些文本以及当前时间戳值[ ].我可以在Java中这样做,如下所示.
在Java中:
"abc_"+new SimpleDateFormat("ddMMyyyy_hhmmss").format(new Date());
Run Code Online (Sandbox Code Playgroud)
但是,使用Robot Framework如何将此时间戳值添加到用户ID文本字段?即,任何获取时间戳的关键字或库?
使用机器人框架:
input text | userId | abc_ | ???
Run Code Online (Sandbox Code Playgroud) 如何在对象不相等时匹配值,但它们是字符串.
$ {tab} =获取文字xpath =.// [@ id ='projectTable_info'] $ {selected text} =从$ {选定文字}获取权利$ {tab} =从$ {获取权限$ {tab} sele} =从左边获取$ {selected text}条目$ {empno} =获取表格单元格
xpath =.// [@ id ='projectTable'] 3 6获取价值$ {empno} $ {only value} =从右边获取$ {empno} | 应该是字符串$ {only value} $ {sele}转换为字符串$ {only value}转换为字符串$ {sele}应该等于$ {only value} $ {sele}
如果对象在将它们转换为字符串后不相等,则会在控制台失败时出错.INFO参数类型为:
FAIL 2!= 2
我试图通过Robot Framework本机关键字"从列表中选择"命令选择一个选项,但它失败并显示错误消息:
html页面来源:
<select id="reason" placeholder="Please select" style="width: 100%; display: none;" class="m-b-xs" data-role="combobox" aria-disabled="false" aria-readonly="false">
<option value="a">Assume</option>
<option value="b">New</option>
<option value="c">Renew</option>
<option value="d">Purchase</option>
<option value="e">Refinance</option>
<option value="f">Reschedul</option>
<option selected="selected" value="New">New</option>
</select>
Run Code Online (Sandbox Code Playgroud)
我用过值"Assume"或"a":
Choose Application Reason
Select From List xpath=//select[@id="reason"] Assume
Run Code Online (Sandbox Code Playgroud)
测试失败,错误消息:
INFO : Selecting option(s) 'Assume' from list
'xpath=//select[@id="reason"]'.
.....
FAIL :ValueError: Option 'Assume' not in list 'xpath=//select[@id="reason"]'.
INFO : Selecting option(s) 'a' from list 'xpath=//select[@id="reason"]'.
.....
FAIL : ValueError: Option 'a' not in list 'xpath=//select[@id="reason"]'.
Run Code Online (Sandbox Code Playgroud)
但是如果我用默认值"New"替换值"Assume":
Choose Application Reason …Run Code Online (Sandbox Code Playgroud) 我的要求是使用RED eclipse编辑器在机器人框架中使用用户定义的java库.当尝试在机器人框架中指定库时,系统会出现错误,因为没有可用的库(显示为库名称的红色下划线).请纠正我的错误.我按照以下步骤,
CLASS PATH已更新至以下罐子,
a)jython.jar b)robotframework-3.0.2.jar c)myOwnJavaLibrary.jar(我在步骤3中创建的jar)d)jdk和jre路径
创建了RED Project并开始初始化关键词,如下所示,
a)图书馆Selenium2Library
b)图书馆org.robot.KCCKeywords.LogonToKCC
这是系统无法读取我自己的库的地方.我还提到了下面的博客并相应地调整了我的步骤.但是没有帮助我.引用多个博客和堆栈也让我感到困惑.最后我在这里.
我想为机器人框架中的输入数组执行相同的关键字.例如:
*** Test Case ***
Login to gmail ${UserIDs} ${passwords}
Run Code Online (Sandbox Code Playgroud)
这里,UserID和Passwords是一个数组,我希望为这些数组中的所有输入执行关键字"Login to gmail".我知道这里提到的关键字不起作用.但是,我正在寻求帮助来实现这一目标.
我需要在不改变测试总体状态的情况下获得检查状态(通过/失败)
Test 1
${passed} Run keyword And Continue On Failure Should Be Equal 1 2
Log ${passed}
${passed} Run keyword And Continue On Failure Should Be Equal 1 1
Log ${passed}
Run Code Online (Sandbox Code Playgroud)
$ {传递}始终是None.什么是正确的方法?
这是我工作的解决方案:(
${passed} ${value} Run keyword And Ignore Error Should Be Equal 1 2
Run Keyword If "${passed}"=="FAIL" Run keyword And Continue On Failure FAIL
Run Code Online (Sandbox Code Playgroud)
RR
是否可以实现抽象关键字,以便您可以避免重复的"代码",并避免在实际测试实现中的技术参数?对我来说,抽象的关键字在任何实际的测试实现中都不可用也是非常重要的.
我想拥有的是这样的:
*** Abstract Keywords ***
Open Menu Item
[Arguments] ${menu}
Click Element ${menu}
*** Keywords ***
Open Home
Open Menu Item Home
Open Setup
Open Menu Item Setup
Run Code Online (Sandbox Code Playgroud)
Robot Framework是否支持抽象?
我正在尝试将Dictionary转换为String for Regex模式匹配但是为此我们需要字符串或stringbuffer任何想法如何做到这一点?
作为Robot Framework验证的一部分,我将以下数据(存储为${response})作为获取请求响应:
{
"interfaces": [
{
"name": "eth0",
"status": "ready",
"macAddress": "xx:xx:xx:xx:xx:xx",
"ipv4": {
"mode": "DHCP",
"address": "127.0.0.1",
"mask": "255.255.255.0",
},
"ipv6": {
"mode": "DISABLED",
"addresses": [],
"gateway": "",
}
}
],
"result": 0
}
Run Code Online (Sandbox Code Playgroud)
我想获取键的值ipv4并将其与预定义值进行比较。我尝试使用它,HttpLibrary.HTTP因为Robot Framework 3.1将不推荐使用它,因此我想使用Evaluate。机器人框架中是否可能?