rcubefather
rcubefather

Reputation: 1564

How to split robot testcases using colon, so that each will be treated as separate testcase?

I have 3 test cases which will test the same functionality. It will use same keywords as shown below.

Instead of writing three different test cases "test-1151,test-2125,test-2126", I want to write one test case separated with colons as shown below. But robot should treat this as three seperate test case and it should show pass/fail test case count accordingly.

test.robot:

*** Settings ***
Library           lib.test

*** Variables ***

*** Keywords ***

*** Test Cases ***

test-1151:test-2125:test-2126
    [Documentation]  test_sample
    [Tags]  sanity
    Install Adobe software
    Launch the app

If I run the above robot file, robot is taking "test-1151:test-2125:test-2126" as one test case. How to tell robot to treat this as three different test cases (separated with colon)?

Upvotes: 3

Views: 821

Answers (2)

Bryan Oakley
Bryan Oakley

Reputation: 385970

It's unclear what your real goals are. It seems that you want to see three items in the report, "test-1151", "test-2125", and "test-2126", but that you actually only want to run that test once.

I'm guessing that those names correspond to either a test plan or an item in a ticketing system of some sort.

My recommendation is to use tags to tag your test. You can give the test any name you want, and then give it tags for the names you want to see in the report. Once the test runs, the report can give you statistics based on tag.

For example:

test-1151:test-2125:test-2126
    [Documentation]  test_sample
    [Tags]  sanity  test-1151  test-2125  test-2126
    Install Adobe software
    Launch the app

To answer your specific question of whether you can have this one test reported three times, the answer is "no". It will show up in the logs and report as a single test. However, the report also includes test status by tag, so you will see one item in the report for each tag.

Upvotes: 1

shicky
shicky

Reputation: 2126

Why don't you turn the detail of the test case into a keyword? Then write three test cases that call the keyword?

This might be an alternative option for you:

http://robotframework.org/robotframework/latest/RobotFrameworkUserGuide.html#data-driven-style

Basically have one test template which would be the same, maybe have some arguments for parameters that will change based on test cases. You can then have many test cases doing exactly the same or slightly different things in a short and concise notation.

Upvotes: 2

Related Questions