在机器人框架中无法从TXT文件中使用变量GET



我尝试从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}

最新更新