首页 > 解决方案 > 如何在使用 seleniumlibrary 的机器人框架测试用例中多次运行特定关键字?

问题描述

我想在测试用例中执行两个关键字,其中一个关键字必须只执行一次,另一个关键字必须执行多次。请找到下面的代码来理解执行的逻辑:

 *** Settings ***
 Test Setup         OPEN CHROME BROWSER
 Test Teardown     CLOSE CHROME BROWSER
 Test Template     KEYWORD1
 Force Tags         Smoke

 *** Test Cases ***       userid         userpass      content
 VALID CREDENTIAL    userid@mysite.com    mypass      CONTENT A
                                                      CONTENT B
                                                      CONTENT C
 *** Keywords ***
--------------------------------------------------------------------------
KEYWORD 1
[Arguments]  ${userid} {userpass}
GO TO LOGIN PAGE
ENTER USERID
ENTER PASSWORD
CLICK ON LOGIN BUTTON
-----needs to run once and then KEYWORD 2 should run thrice---------------
KEYWORD 2
[Arguments] ${content}
CLICK ON CONTENT TILE  ${content}
DO SOME ACTION
GO TO HOME

我希望“关键字 1”只执行一次,“关键字 2”根据内容列表重复 3 次。请指导我如何处理这个问题。

当前问题:在继续第二次测试时,它要求再次通过 userid 和 userpass。

我想要实现的目标:登录一次网络门户(KEYWORD1)。以内容 A 作为参数运行关键字 2,然后以内容 B 作为参数,最后以内容 C 运行。每次需要更改内容时,我都不应该登录。

标签: seleniumrobotframeworkdata-driven-tests

解决方案


您需要的是BuildIn中的重复关键字。

例子:

Repeat Keyword    5 times     Go Back         
Repeat Keyword    ${var}  Some Keyword    arg1    arg2
Repeat Keyword    2 minutes   Some Keyword    arg1    arg2

推荐阅读