我尝试从txt文件中获取变量${var_Master}
,然后将其放入列表框中,而${ValSub}
工作正常,但是我在var ${var_Master}
上遇到了错误:
**无效的Selectorexception:消息:无效的选择器:指定了无效或非法选择器(会话信息:Chrome = 64.0.3282.167( (驱动程序信息:Chromedriver = 2.34.522940 (1A76F96F66E3CA7B8E57D503B4DDD3BCCFBA87AF1(,平台= Windows NT 10.0.14393 x86_64(
在以下代码示例中:
${var_sub} Get File ../resources/var_sub.txt
@{list} Split To Lines ${var_sub}
${var_Master} Get File ../resources/var_master.txt
:FOR ${line} IN @{list}
${ValSub}= Get Variable Value ${line}
sleep 1s
select from list by value name=merchant_id ${ValSub}
select from list by value name=master_marchant_id ${var_Master}
在机器人框架中,无需创建自定义导入例程来创建变量,因为它有一个标准关键字: Import Variables
(文档(。
在下面的示例中,我正在使用yaml标记语言中的文件,该文件允许创建特定的python和机器人变量类型,例如人类可读格式的列表,词典和标量。也可以导入声明对象的Python文件。
在此示例中,我创建了一个模拟标量变量master
和模拟列表变量list
,以证明循环是可能的,并将Select From List By Value
模拟为自定义关键字。
vars.yaml
master: master value
list:
- item 1
- item 2
- item 3
example.robot
*** Test Cases ***
TC1
Import Variables ${EXECDIR}/vars.yaml
:FOR ${line} IN @{list}
sleep 1s
select from list by value name=master_marchant_id ${master}
select from list by value name=merchant_id ${line}
*** Keywords ***
Select From List By Value
[Arguments] ${locator} ${value}
Log Selecting "${value}" from "${locator}" element.
我使用此方法解决我的问题
${var_master} Get File ../resources/var_master.txt
@{list} Split To Lines ${var_master}
:FOR ${lineb} IN @{list}
${ValMas}= Get Variable Value ${lineb}
${var_sub} Get File ../resources/var_sub.txt
@{list} Split To Lines ${var_sub}
:FOR ${line} IN @{list}
${ValSub}= Get Variable Value ${line}
sleep 1s
select from list by value name=master_marchant_id ${ValMas}
select from list by value name=merchant_id ${ValSub}