代码之家  ›  专栏  ›  技术社区  ›  nhrcpt

Robot框架集合-列表比较问题

  •  0
  • nhrcpt  · 技术社区  · 7 年前

    List Test
        Lists Should Be Equal    @{List_Of_States_USA}    @{List_Of_States_USA-Temp}
    

    @{List_Of_States_USA}    Alabama    Alaska    American Samoa    Arizona    Arkansas    California    Colorado
    ...               Connecticut    Delaware    District of Columbia    Florida    Georgia    Guam    Hawaii
    ...               Idaho    Illinois    Indiana    Iowa    Kansas    Kentucky    Louisiana
    ...               Maine    Maryland    Massachusetts    Michigan    Minnesota    Mississippi    Missouri
    ...               Montana    National    Nebraska    Nevada    New Hampshire    New Jersey    New Mexico
    ...               New York    North Carolina    North Dakota    Northern Mariana Islands    Ohio    Oklahoma    Oregon
    ...               Pennsylvania    Puerto Rico    Rhode Island    South Carolina    South Dakota    Tennessee    Texas
    ...               Utah    Vermont    Virgin Islands    Virginia    Washington    West Virginia    Wisconsin
    ...               Wyoming
    

    此测试失败,出现以下错误:

    FAIL    Keyword 'Collections.Lists Should Be Equal' expected 2 to 5 arguments, got 114. 
    

    我在SO和其他网站上搜索了一个解决方案,但不知道为什么会发生这种情况。提前感谢您的支持

    2 回复  |  直到 7 年前
        1
  •  3
  •   Bryan Oakley    7 年前

    你需要使用 $ @ .当您使用 ,robot将列表扩展为多个参数。

    robot framework user's guide :

    在这种情况下,单独的列表项作为参数传入 .

    @{foo} 是一个值为“一”、“二”和“三”的列表。在这种情况下,以下两个是相同的:

    some keyword  @{foo}
    some keyword  one  two  three
    

    Lists Should Be Equal    ${List_Of_States_USA}    ${List_Of_States_USA-Temp}
    
        2
  •  0
  •   nhrcpt    7 年前

    因此,正如上面Bryan Oakley所建议的,我对测试进行了如下修改:

    ${L1}   Create List @{List_Of_States_USA}
    ${L2}   Create List @{List_Of_States_USA-Temp}
    Lists Should Be Equal   ${L1}   ${L2}
    

    现在测试通过了。再次感谢@Brian