Rts
:blue_heart: Regression Test Selection to dynamically select impacted regression tests necessary to run per file changes, for Robot Framework.
Install / Use
/learn @slxiao/RtsREADME
Introduction
RTS is for regression test selection. It's used for selecting only the affected regression tests based on file dependency. Specifically, only the tests that depend on the files that are changed in the current commit will be selected to execution. With RTS, testing resource is reduced and test feadback time is shortened, which benefits both developers and testers.
Different test automation projects using different programming languages would need different RTS techniques. The RTS technique presented here, named rts, is suitable for Robot Framework based test automation projects. Robot Framework is a powerful test automation framework widely used in the industry.
Usage
There are two ways to use rts.
First way is in Python, where you can:
from rts import RTS
print RTS(".", ".", ["suite1", "suite2"]).select(["x.robot", "y.py"])
Example output might be
["suite1"] #selected suites are printed. only suite1 depends on x.robot or y.py. suite2 not depend on any of the changes.
Second way is in Shell, where you can:
python rts.py . . '["suite1", "suite1"]' '["x.robot", "y.py"]'
Example output is same as above.
Note:
- rts only supports
.robotand.pyfiles. rts supports dependency between two robot files, and dependency between a robot file and a python file. However, it does not detect dependency between two python files. - rts can detect suite-level dependency. It cannot detect case-level dependency or keyword-level dependency.
Development
rts is using TDD(Test-Driven Development). Use make ut to run all unit test cases.
make ut
Support
rts is developed and maintained by slxiao. Refer to gitlab issues if you meet any bugs or need feature enhancements.
Related Skills
node-connect
342.5kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
claude-opus-4-5-migration
85.3kMigrate prompts and code from Claude Sonnet 4.0, Sonnet 4.5, or Opus 4.1 to Opus 4.5
frontend-design
85.3kCreate distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
model-usage
342.5kUse CodexBar CLI local cost usage to summarize per-model usage for Codex or Claude, including the current (most recent) model or a full model breakdown. Trigger when asked for model-level usage/cost data from codexbar, or when you need a scriptable per-model summary from codexbar cost JSON.
