Skip to content

Releases: DetachHead/pytest-robotframework

3.1.0

08 Feb 02:57
d955e31
Compare
Choose a tag to compare

What's Changed

  • Deprecate @listener and @pre_rebot_modifier decorators and make RobotOptions dict fully typed by @DetachHead in #190
  • fix crash when disabling xdist with -n 0 by @DetachHead in #192

Full Changelog: 3.0.1...3.1.0

3.0.1

07 Feb 01:46
73dd030
Compare
Choose a tag to compare

What's Changed

  • fix crash when xdist is not installed by @DetachHead in #187
  • fix no tests being run when working directory is in a different location to both the pytest config file and the tests by @DetachHead in #188

Full Changelog: 3.0.0...3.0.1

3.0.0

05 Feb 03:16
Compare
Choose a tag to compare

🚀 xdist support

pytest-robotframework now supports running tests concurrently with pytest-xdist!

when executing pytest with the -n argument, the plugin will launch a robot instance for each worker and automatically merge together the log files at the end.

⚠ breaking changes - new ways to specify robot arguments

via the command line

robot options can now be specified as pytest cli arguments using the --robot-* prefix. the deprecated --robotargs argument has been removed

before

pytest --robotargs="--variable foo:bar --outputdir baz"

after

pytest --robot-variable foo:bar --robot-outputdir baz

this is much safer as it does not allow you to specify arguments that would interfere with the functionality of the plugin. if you need to use a robot argument that is not available with a --robot-* see the config section of the documentation for the pytest equivalent.

programmatically

the pytest_robot_modify_args hook has been replaced with the pytest_robot_modify_options hook which allows you to modify the robot options as a dict instead of a list of arguments. the options are more complete as they include default values and any options that were changed with the ROBOT_OPTIONS environment variable.

before

def pytest_robot_modify_args(session: Session, args: list[str], collect_only: bool):
    if not collect_only:
        args.extend(["variable", "foo:bar"])

after

from pytest_robotframework import RobotOptions

def pytest_robot_modify_options(session: Session, options: RobotOptions):
    if not session.config.option.collectonly:
        options["variable"].append("foo:bar")

Full Changelog: 2.5.2...3.0.0

2.5.2

24 Jan 03:03
3f53f5c
Compare
Choose a tag to compare

What's Changed

  • Fix no tests being run when pytest config file is in a different location by @DetachHead in #173

Full Changelog: 2.5.1...2.5.2

2.5.1

13 Jan 08:43
c83e22f
Compare
Choose a tag to compare

What's Changed

  • fix class/module scoped fixtures being re-executed on every test by @DetachHead in #163

Full Changelog: 2.5.0...2.5.1

2.5.0

11 Jan 20:10
ec1ff13
Compare
Choose a tag to compare

What's Changed

Full Changelog: 2.4.0...2.5.0

2.4.0

28 Nov 23:25
fb5c3f4
Compare
Choose a tag to compare

What's Changed

  • improve documentation about continuable failures by @DetachHead in #146
  • clean up some of the code used for keywords by @DetachHead in #148
  • fix issue where robot runs with an outdated cwd if imported before pytest runs by @DetachHead in #151
  • support kwargs in robot tags by @Loch64 in #153

New Contributors

Full Changelog: 2.3.1...2.4.0

2.3.1

13 Nov 23:42
803945c
Compare
Choose a tag to compare

What's Changed

Full Changelog: 2.3.0...2.3.1

2.3.0

31 Oct 03:12
1023b3c
Compare
Choose a tag to compare

What's Changed

  • refactor keyword decorator to require explicitly specifying whether to wrap a context manager by @DetachHead in #136

Full Changelog: 2.2.0...2.3.0

2.2.0

27 Oct 03:50
471036c
Compare
Choose a tag to compare

What's Changed

  • add pre_rebot_modifier decorator and refactor listener to work on instances by @DetachHead in #135

Full Changelog: 2.1.0...2.2.0