robotframework / robotframework/robotframework

Api request: Prepare suite and run suite separately

Open
#5,407 3 comments 1 reaction 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Python
Stars
11.9k
Forks
2.6k
Avg merge
1d 18h
Merged PRs (30d)
10

Description

I need to run RF tests quickly and often on low-end hardware - raspberry pis and missing apis to:

  1. Prepare suite - load and parse and compile and ... all what is needed to run on infinite time and memory

  2. Just run as quickly as possible

Right now I am hijacking run.py/RobotFramework().main and separating it to

  1. TestSuiteBuilder and all the stuff as prepare part

  2. with pyloggingconf.robot_handler_enabled(settings.log_level): ... as run part, with slight modifications such as
    sio = StringIO(); output._xmllogger._writer = XmlWriter(sio)

to restart output and prevent it to write to SD card, results are then sent away anyway.

These works well, as far as I am aware, but I have to modify these with new versions of RF.
It would be nice, if it was somehow standardized, or I am doing it wrong?

Thank you

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with run.py and RobotFramework().main, then compare the TestSuiteBuilder preparation path with the execution path around _pyloggingconf.robot_handler_enabled(settings.log_level). Review how output and XmlWriter are initialized, including the StringIO workaround. Done means the supported API clearly separates suite preparation from repeated execution without requiring version-specific modifications.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
testing
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.