Как запустить определенное ключевое слово несколько раз в тестовом примере инфраструктуры робота с использованием seleniumlibrary? - PullRequest
0 голосов
/ 26 апреля 2018

Я хочу выполнить два ключевых слова в тестовом примере, из которых одно ключевое слово должно быть выполнено только один раз, а другое - несколько раз. Пожалуйста, найдите код ниже, чтобы понять логику выполнения:

 *** 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 раза согласно списку содержимого. Пожалуйста, объясните мне, как справиться с этим.

Текущая проблема: Продолжая второй тест, он просит снова ввести ID пользователя и пользователя.

Чего я хочу достичь: Войдите один раз на веб-портал (KEYWORD1). Запустите Ключевое слово 2 с контентом A в качестве аргумента, затем с контентом B в качестве аргумента и, наконец, с контентом C. Я не должен входить в систему каждый раз, когда необходимо изменить содержимое.

Ответы [ 3 ]

0 голосов
/ 08 мая 2018
*** Settings ***
Test Setup        KEYWORD1  ${reg_userid}  ${reg_userpass}
Test Teardown     CLOSE CHROME BROWSER
Test Template     KEYWORD2  ${content}
Force Tags         Smoke

*** Test Cases ***      content
VALID CREDENTIAL       CONTENT A
                       CONTENT B
                       CONTENT C
*** Keywords ***
------------------------KEYWORD 1 runs once--------------------------------
KEYWORD 1
  [Arguments]  ${userid} {userpass}
  OPEN CHROME BROWSER
  GO TO LOGIN PAGE
  ENTER USERID
  ENTER PASSWORD
  CLICK ON LOGIN BUTTON
------------------------KEYWORD 2 runs thrice-----------------------------
KEYWORD 2
  [Arguments] ${content}
  CLICK ON CONTENT TILE  ${content}
  DO SOME ACTION
  GO TO HOME

***Variables***
${reg_userid}      test@test.com
${reg_userpass}    password
0 голосов
/ 28 ноября 2018

Вам нужно Повторное ключевое слово из библиотеки BuildIn .

Примеры:

Repeat Keyword    5 times     Go Back         
Repeat Keyword    ${var}  Some Keyword    arg1    arg2
Repeat Keyword    2 minutes   Some Keyword    arg1    arg2
0 голосов
/ 26 апреля 2018

Вы можете создать другое ключевое слово, как показано ниже

Execute Keyword Multiple Times
    [Arguments]    ${keyword_name}    @{params}
    :FOR    ${i}    IN    @{params}
    \    Run Keyword    ${keyword_name}    ${i}

и вы можете назвать это

Execute Keyword Multiple Times    KEYWORD 2    CONTENT A    CONTENT B ...

Если вам нужно указать более одного параметра, вы можете использовать dict.

Я предлагаю вам другой способ: дайте KEYWORD 2 n аргументов и поместите в него цикл. Код будет более понятным.

...