我试图将变量变为变量,但它不起作用。我搜索谷歌并尝试了很多东西,但它没有解决
我希望这个问题不是“愚蠢的”:
我做错了什么?
*** Settings ***
Library SeleniumLibrary
Library OperatingSystem
*** Variable ***
${year} Get Time return year
${month} Get Time return month
${day} Get Time return day
${output} ${CURDIR}\Testing\Tests\SRV\csdb_@{year}-@{month}-@{day}.log
*** Testcases ***
Textfile should have a line saying the service is started
${errors} = Grep File ${output} Test
答案 0 :(得分:2)
来自robot framework user's guide:
变量最常见的来源是测试用例中的变量表 文件和资源文件。变量表很方便,因为它们 允许在与测试的其余部分相同的位置创建变量 数据,所需的语法非常简单。 他们的主要缺点 是值始终是字符串,无法创建它们 动态。强>
为了做你想做的事,你需要在关键字中定义变量。例如:
*** Keywords ***
Get Output
${year}= Get Time year
${month}= Get Time month
${day}= Get Time day
${output}= Set variable ${CURDIR}/Testing/Tests/SRV/csdb_${year}-${month}-${day}.log
[Return] ${output}
*** Testcases ***
Textfile should have a line saying the service is started
${output}= Get Output
${errors} = Grep File ${output} Test
注意:您可以通过一次调用关键字来获取数据的所有三个部分,如下所示:
${year} ${month} ${day}= Get Time year month day
使用空格分隔格式读取有点困难,但变量名称必须用两个或多个空格分隔,但是"年月日"应该只有一个。