Skip to content

Releases: vyanezz/TestFlow

v1.4.0 – New request interception and FlowWrapper

04 May 11:40

Choose a tag to compare

✨ Context manager for request interception

🔹A context manager has been implemented, allowing browser actions to be wrapped inside with blocks while capturing the HTTP requests triggered by those actions.

🔹The request is resolved after the block execution, ensuring proper synchronization with the test flow.
🔹A dedicated wait logging state has also been added.

Example:

with test.expect_request(endpoint="https://httpbin.org/post", method="POST") as flow:
    test.click("xpath", "//button[@type='submit']")

flow.assert_status(200)

✨ FlowWrapper abstraction & improved validation API

🔹A FlowWrapper abstraction layer has been introduced on top of RequestValidator and ResponseValidator, removing the need to interact with them directly.

🔹It provides a more intuitive, assert-based API for validating captured requests and responses, improving readability and usability of tests.

🔹Additionally, wait_for_request now returns a FlowWrapper, enabling a consistent validation interface across both explicit waits and context-based interception.

Example:

flow = test.wait_for_request(endpoint="https://httpbin.org/post", method="POST")

flow.assert_status(200)
flow.assert_response_headers({...})
flow.assert_json({...})

v1.3.0 – Response validator, Driver logger, Driver configuration and new methods

10 Apr 09:28

Choose a tag to compare

✨ New ResponseValidator in ApiValidator

A complete HTTP response validator has been introduced to enhance network validation within tests.

🔹 Status code validation – ensures the response status matches the expected value.
🔹 Header validation – provides clear assertion errors when headers are missing or incorrect.
🔹 JSON body validation (json_body) – validates each field and pinpoints exactly which key/value is incorrect.
🔹 Form-urlencoded validation (form_urlencoded_body) – validates HTML form submissions, including suggestions for mistyped keys.

✨ WebDriver Enhancements

🔹 Added structured logging to driver actions for better debugging and traceability.
🔹 Introduced DriverConfig for flexible and scalable browser configuration.
🔹 Added new simple and intuitive methods to improve test readability and usability.

✅ New Test Example

🔹Added httpbin.py as a practical example.
🔹Demonstrates request/response validation with real form submissions.

v1.2.0

13 Mar 12:15

Choose a tag to compare

v1.2.0 – Request Validation Improvements

Powerful improvements to request validation in ApiValidator

✨ Key features:
🔹 Endpoint & HTTP method validation – ensures your request hits the correct endpoint with the right method.
🔹 Header validation – descriptive assertion errors if headers are missing or incorrect.
🔹 JSON body validation (json_body) – checks each field and tells you exactly which key/value is wrong.
🔹 Form-urlencoded body validation (form_urlencoded_body) – validates HTML form submissions, including suggestions for mistyped keys.
🔹 Returns the flow – so you can use it later for response validation.

v1.1.0

02 Mar 16:32

Choose a tag to compare

v1.1.0 – Configurable Logger, API Validator, and Core Refactor

✨ Configurable Logger: You can now enable centralized logging directly from TestAutomation(enable_logger=True).

🔎 ApiValidator Class: A new dedicated layer for validating API calls, including endpoint checks.

⏱ Configurable Timeout: Validation methods now support configurable timeouts, both globally when initializing the validator and per individual call.

♻️ Refactor of TestAutomation: Simplified framework initialization, removing the need to call .start_test(), with automatic delegation of methods to driver, traffic, and validator.

v1.0.0

29 Jan 12:21

Choose a tag to compare

v1.0.0

Added

  • API traffic validation with method support
  • Colored terminal logging

Fixed

  • Flaky API timing issues