首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在Robot Framework4.0中以编程方式编写while循环?

如何在Robot Framework4.0中以编程方式编写while循环?
EN

Stack Overflow用户
提问于 2021-03-19 23:19:33
回答 1查看 143关注 0票数 0

场景-我有一个包含x个字母表(a,b,c,d,e,f)的文件。

我想把这个字母表写进一个列表或字典。该文件可以在任何字母表结束,但是如果它已经选取了最后一个字母表并且没有其他字母表,则循环必须停止。

每个字母表必须单独捕获并附加到列表/字典中,而不是使用像文件长度这样的变量,因为我们不知道这一点,它总是会改变。

运行循环,直到文件为空,并将内容添加到列表/字典中。字典可以是{1:a,2:b,3:c,4....}。也许是使用Exit For Loop If的一个例子

EN

回答 1

Stack Overflow用户

发布于 2021-03-20 23:11:53

框架中没有while循环。您可以执行以下操作:

如果这是file.txt

代码语言:javascript
复制
a,b,c,d,e,f

这就是阅读每个字母并将其放入字典的方法。

  1. 读取整个文件。
  2. 根据文件的结构对其进行拆分。
  3. 遍历拆分得到的列表。

代码语言:javascript
复制
*** Settings ***
Library    OperatingSystem
Library    Collections

*** Test Cases ***
Test
    &{dict}=    Create Dictionary
    ${key}=    Evaluate    0
    ${file}=    Get File    file.txt
    ${splitted}=    Evaluate    """${file}""".split(',')
    FOR    ${letter}    IN    @{splitted}
        ${key}=    Evaluate    ${key} + 1
        Set To Dictionary   ${dict}     ${key}    ${letter}
    END
    Log    ${dict}

至于web示例,这取决于应用程序,但这里有一个通用的方法。此测试将打开Stack Overflow并获取所有问题,然后记录有关它们的所有内容。它将只获取第一个页面,但您可以通过类似的循环(FOR)遍历所有页面。

通过使用遍历列表和应用逻辑的keyword.

  • Loop
  1. Get WebElements,为记录列表定义一个与所有记录匹配的定位器。

代码语言:javascript
复制
*** Settings ***
Library    SeleniumLibrary

*** Test Cases ***
Web Example
    Open Browser    https://stackoverflow.com/questions    Headless Firefox
    ${questions}=    Get WebElements    //*[starts-with(@id, "question-summary-")]
    FOR    ${q}    IN    @{questions}
        Log    ${q.text}
    END
    [Teardown]    Close Browser
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66710903

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档