简体   繁体   中英

How to run specific test cases from a test suite using Robot Framework

I am new to Robot and am learning to write logic and test cases.

I have a test suite, "mytestsuite.robot", which has a lot of test cases. I have a couple of errors in one of my test cases.

How do I run just that specific test case since I don't want to run the whole test suite again?

File mytestsuite.robot

testcase1
....
....
testcase2
....
....
testcase3
....
....
testcase4
....
....

Say test case 3 failed, and I want to just rerun test case 3.

I tried to use:

pybot mytestsuite.robot -t testcase3

But I get an error.

You want to use the option -t or --test , but the option goes before the name of the file rather than after. This should work:

robot -t testcase1 mytestsuite.robot

The order of the command line arguments is covered in the user guide under a section titled Starting test execution , and is also available at the command line with the --help option (eg pybot --help )

Be aware that the specific file name is optional. You could use only: robot -t testcase1 .

Where "." means look for all files that contains the specified test. Robot will do the hard work of finding the specific test.

You can use also willcard as * in the begining or finish of the test name, to match easily a test or to run multiple tests.

robot -t "testcase1*" .

Will match all tests that begin with "testcase1" in current folder.

The user guide has a section titled Selecting test cases which covers this subject.

If you want to run single test case in Robot Framework, use the below example.

Syntax: robot -t "Test Case Name" Test Suite Name
Example: robot - t "PON Type Test Case" Aquarium_Project.robot

If you want to run all the test cases in Robot Framework, use the below example

Syntax: robot Test Suite Name
Example: robot Aquarium_Project.robot

If you are using __init__.robot files that have setups and teardowns, you cannot directly call a test from a test file if you have nested directory structures like the following:

|-- foo
    |-- bar.robot

And the bar.robot file has a test case named baz, in this case, you can do the following:

robot --test 'foo.bar.baz' foo

With deeper nesting:

|-- foo
    |-- bar
        |-- baz.robot

robot --test 'foo.bar.baz.*' foo

You can use * (asterisk) to run all test cases in the foo.bar.baz suite.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM