Adding a keyword today touches several places before it is usable everywhere:
- method on the API class (
ActionKeyword / AppManagement / Verifier / FlowControl)
@with_self_healing decorator if it locates an element
- wrapper on
optics.py:Optics with @keyword(...)
TestFrameworkGenerator.keyword_registry dict in helper/generate.py
keyword_registry set inside YAMLDataReader.read_modules
- docs
That surface area is easy to get wrong (SDK/runner drift has happened before). This issue tracks ideas to make registration simpler, e.g. deriving the generate.py registries from the API classes automatically, or generating the optics.py wrapper from a single source of truth.
Raised during review of #483.
Adding a keyword today touches several places before it is usable everywhere:
ActionKeyword/AppManagement/Verifier/FlowControl)@with_self_healingdecorator if it locates an elementoptics.py:Opticswith@keyword(...)TestFrameworkGenerator.keyword_registrydict inhelper/generate.pykeyword_registryset insideYAMLDataReader.read_modulesThat surface area is easy to get wrong (SDK/runner drift has happened before). This issue tracks ideas to make registration simpler, e.g. deriving the generate.py registries from the API classes automatically, or generating the
optics.pywrapper from a single source of truth.Raised during review of #483.