Open SimonovaU opened 3 years ago
There are the same problems with steps which have curl braces in their names. Nothing helped to extract variables from step (in step definition) either with the help of parsers.parse, parsers.re or custom parser provided in the official documentation (https://pytest-bdd.readthedocs.io/en/stable/). It seems that report can't be made bcs step name can't be formatted in a proper way.
I have faced the same issue for Scenario Outline
and {}
in table.
pytest==7.1.2 pytest-bdd==6.1.1 allure-pytest-bdd==2.11.1 allure-python-commons==2.11.1
[//]: # I'm using pytest-6.2.4 for test automation with plugins allure-pytest-bdd-2.9.43, bdd-4.0.2. Python version is 3.6.9.
KeyError occurs when running pytest with flag --alluredir=reports.
I'm submitting a ...
What is the current behavior?
Test contains feature with Examples.
Examples types have been explicitly declared in a python script via example_converters, as shown further:
As far as I get, console output says that the error happens during formatting:
What is the expected behavior?
Am I missing the point of Examples and example_converters or Example variables should be accepted in no relation with the symbols contained inside? Test passes if variable contains anything apart from braces ('{', '}'), otherwise it invariably fails.
What is the motivation / use case for changing the behavior?
I've tried to escape braces with '\', '%' symbols and making braces double as well. That was all in vain. The only thing that made test pass was to remove braces at all from the Examples. But this dubious step doesn't seem to be an answer. To top the whole thing off, this behavior is inconsistent, bcs the same expression in another test didn't raise any error.
Please tell us about your environment:
Other information
https://stackoverflow.com/questions/68080885/keyerror-in-allure-pytest-bdd-when-executing-test-with-alluredir-and-using-exa
[//]: # ( . e.g. detailed explanation, stacktraces, related issues, suggestions . how to fix, links for us to have more context, eg. Stackoverflow, Gitter etc )