|
| 1 | +## Allure Python Testing Utilities |
| 2 | + |
| 3 | +[](https://pypi.python.org/pypi/allure-python-commons-test) |
| 4 | +[](https://pypi.python.org/pypi/allure-python-commons-test) |
| 5 | + |
| 6 | +> The package contains pyhamcrest matchers to assert the Allure results. They |
| 7 | +> come in handy when you need to test an Allure adapter. |
| 8 | +
|
| 9 | +[<img src="https://allurereport.org/public/img/allure-report.svg" height="85px" alt="Allure Report logo" align="right" />](https://allurereport.org "Allure Report") |
| 10 | + |
| 11 | +- Learn more about Allure Report at [https://allurereport.org](https://allurereport.org) |
| 12 | +- 📚 [Documentation](https://allurereport.org/docs/) – discover official documentation for Allure Report |
| 13 | +- ❓ [Questions and Support](https://github.com/orgs/allure-framework/discussions/categories/questions-support) – get help from the team and community |
| 14 | +- 📢 [Official announcements](https://github.com/orgs/allure-framework/discussions/categories/announcements) – stay updated with our latest news and updates |
| 15 | +- 💬 [General Discussion](https://github.com/orgs/allure-framework/discussions/categories/general-discussion) – engage in casual conversations, share insights and ideas with the community |
| 16 | +- 🖥️ [Live Demo](https://demo.allurereport.org/) — explore a live example of Allure Report in action |
| 17 | + |
| 18 | +--- |
| 19 | + |
| 20 | +## The matchers library |
| 21 | + |
| 22 | +Here is the list of available matchers. Refer to [https://github.com/allure-framework/allure-python/tree/master/tests](https://github.com/allure-framework/allure-python/tree/master/tests) for usage examples. |
| 23 | + |
| 24 | +|Module|Matcher|Check| |
| 25 | +|------|-------|-----| |
| 26 | +|container|`has_container`|The report contains a container that matches all the provided matchers.| |
| 27 | +|container|`has_same_container`|The report contains a container that has all the specified tests as its children| |
| 28 | +|container|`has_before`|The container has a before fixture with the specified name that matches all the provided matchers| |
| 29 | +|container|`has_after`|The container has an after fixture with the specified name that matches all the provided matchers| |
| 30 | +|content|`csv_equivalent`|The string (typically, an attachment's content) contains a CSV document that is equvalent to the provided one| |
| 31 | +|label|`has_label`|The test contains a label with the specified name and (optionaly) the value| |
| 32 | +|label|`has_severity`|The test has the specified severity label| |
| 33 | +|label|`has_epic`|The test has the specified epic label| |
| 34 | +|label|`has_feature`|The test has the specified feature label| |
| 35 | +|label|`has_story`|The test has the specified story label| |
| 36 | +|label|`has_tag`|The test has the specified tag label| |
| 37 | +|label|`has_package`|The test has the specified package label| |
| 38 | +|label|`has_suite`|The test has the specified suite label| |
| 39 | +|label|`has_parent_suite`|The test has the specified parentSuite label| |
| 40 | +|label|`has_sub_suite`|The test has the specified subSuite label| |
| 41 | +|report|`has_test_case`|The report contains a test whose fullName ends, or name starts with the specified name. Additionally, the test must match all the provided matchers| |
| 42 | +|report|`has_only_testcases`|Each test of the report matches at least one of the provided matchers| |
| 43 | +|report|`has_only_n_test_cases`|Same as `has_test_case` but also checks if the number of matched tests is equal to the expected one| |
| 44 | +|result|`has_title`|The test has an expected name| |
| 45 | +|result|`has_description`|The test has a description that matches all the provided matchers| |
| 46 | +|result|`has_description_html`|The test has a descriptionHtml that matches all the provided matchers| |
| 47 | +|result|`has_step`|The test or step has a step with the specified name that matches all the provided matchers| |
| 48 | +|result|`has_parameter`|The test or step has a parameter with the specified name whose value matches the provided matchers| |
| 49 | +|result|`doesnt_have_parameter`|The test or step doesn't have a parameter with the specified name| |
| 50 | +|result|`has_link`|The test has a link with the expected url, type (if provided) and name (if provided)| |
| 51 | +|result|`has_issue_link`|The test has an issue link with the expected url and name (if provided)| |
| 52 | +|result|`has_test_case_link`|The test has an issue link with the expected url and name (if provided)| |
| 53 | +|result|`has_attachment`|The test or step has an attachment with the expected name and type.| |
| 54 | +|result|`has_attachment_with_content`|The test or step has an attachment with the expected name and type. In addition, the content must match the provided matcher.| |
| 55 | +|result|`with_id`|The test or container has the expected uuid| |
| 56 | +|result|`with_status`|The test or step has the expected status| |
| 57 | +|result|`has_status_details`|The status details of the test or step matches all the provided matchers| |
| 58 | +|result|`with_message_contains`|The status details' message contains the provided text| |
| 59 | +|result|`with_trace_contains`|The status details' trace contains the provided text| |
| 60 | +|result|`with_excluded`|The parameter is excluded from the historyId calculation| |
| 61 | +|result|`with_mode`|The parameter has the specified mode| |
| 62 | +|result|`has_history_id`|The test has historyId| |
0 commit comments