Skip to main content

A listener that prints a Stack Trace to console to faster find the code section where the failure appears.

Project description

robotframework-stacktrace

A listener for RF >= 4.0 that prints a Stack Trace to console to faster find the code section where the failure appears.

Installation

pip install robotframework-stacktrace

Usage

robot --listener RobotStackTracer <your file.robot>

Example

Old Console Output:

robot -d logs TestCases/14_Browser/01_CarConfig.robot
==============================================================================
01 CarConfig                                                                  
==============================================================================
Configure Car with Pass                                               | FAIL |
TimeoutError: page.selectOption: Timeout 3000ms exceeded.
=========================== logs ===========================
waiting for selector ""Basismodell" >> ../.. >> select"
  selector resolved to visible <select _ngcontent-c7="" class="maxWidth ng-untouched ng…>…</select>
  selecting specified option(s)
    did not find some options - waiting... 
============================================================
Note: use DEBUG=pw:api environment variable to capture Playwright logs.
------------------------------------------------------------------------------
Configure Car with wrong Acc                                          | FAIL |
TimeoutError: page.check: Timeout 3000ms exceeded.
=========================== logs ===========================
waiting for selector "//span[contains(text(),'aABS')]/../input"
============================================================
Note: use DEBUG=pw:api environment variable to capture Playwright logs.
------------------------------------------------------------------------------
Configure Car with car Acc                                            | FAIL |
TimeoutError: page.click: Timeout 3000ms exceeded.
=========================== logs ===========================
waiting for selector "[href="/config/summary/wrong"]"
============================================================
Note: use DEBUG=pw:api environment variable to capture Playwright logs.
------------------------------------------------------------------------------
01 CarConfig                                                          | FAIL |
3 tests, 0 passed, 3 failed
==============================================================================
Output:  /Source/RF-Schulung/02_RobotFiles/logs/output.xml
Log:     /Source/RF-Schulung/02_RobotFiles/logs/log.html
Report:  /Source/RF-Schulung/02_RobotFiles/logs/report.html

New Stack Trace Output

 robot -d logs --listener RobotStackTracer TestCases/14_Browser/01_CarConfig.robot
==============================================================================
01 CarConfig                                                                  
==============================================================================
Configure Car with Pass                                               ...     
Traceback (most recent call last):
  File  "/Source/RF-Schulung/02_RobotFiles/TestCases/14_Browser/01_CarConfig.robot:23"
  >  Configure Car with Pass    
  File  "/Source/RF-Schulung/02_RobotFiles/TestCases/14_Browser/01_CarConfig.robot:27"
  >  Select aMinigolf as model    
  File  "/Source/RF-Schulung/02_RobotFiles/TestCases/14_Browser/functional_keywords.resource:14"
  >  Select Options By    ${select_CarBaseModel}    text    ${basemodel}
  |  ${select_CarBaseModel} = "Basismodell" >> ../.. >> select (str)
  |  ${basemodel} = aMinigolf (str)
Configure Car with Pass                                               | FAIL |
TimeoutError: page.selectOption: Timeout 3000ms exceeded.
=========================== logs ===========================
waiting for selector ""Basismodell" >> ../.. >> select"
  selector resolved to visible <select _ngcontent-c7="" class="maxWidth ng-untouched ng…>…</select>
  selecting specified option(s)
    did not find some options - waiting... 
============================================================
Note: use DEBUG=pw:api environment variable to capture Playwright logs.
------------------------------------------------------------------------------
Configure Car with wrong Acc                                          ...     
Traceback (most recent call last):
  File  "/Source/RF-Schulung/02_RobotFiles/TestCases/14_Browser/01_CarConfig.robot:37"
  >  Configure Car with wrong Acc    
  File  "/Source/RF-Schulung/02_RobotFiles/TestCases/14_Browser/01_CarConfig.robot:42"
  >  Select Accessory    aABS
  File  "/Source/RF-Schulung/02_RobotFiles/TestCases/14_Browser/functional_keywords.resource:38"
  >  Check Checkbox    //span[contains(text(),'${accessory}')]/../input
  |  //span[contains(text(),'${accessory}')]/../input = //span[contains(text(),'aABS')]/../input (str)
Configure Car with wrong Acc                                          | FAIL |
TimeoutError: page.check: Timeout 3000ms exceeded.
=========================== logs ===========================
waiting for selector "//span[contains(text(),'aABS')]/../input"
============================================================
Note: use DEBUG=pw:api environment variable to capture Playwright logs.
------------------------------------------------------------------------------
Configure Car with car Acc                                            ..F.    
Traceback (most recent call last):
  File  "/Source/RF-Schulung/02_RobotFiles/TestCases/14_Browser/01_CarConfig.robot:50"
  >  Configure Car with car Acc    
  File  "/Source/RF-Schulung/02_RobotFiles/TestCases/14_Browser/01_CarConfig.robot:61"
  >  Set wrong Car Name    ${car}
  |  ${car} = My New Car (str)
  File  "/Source/RF-Schulung/02_RobotFiles/TestCases/14_Browser/functional_keywords.resource:53"
  >  Click    ${car_name}
  |  ${car_name} = [href="/config/summary/wrong"] (str)
Configure Car with car Acc                                            | FAIL |
TimeoutError: page.click: Timeout 3000ms exceeded.
=========================== logs ===========================
waiting for selector "[href="/config/summary/wrong"]"
============================================================
Note: use DEBUG=pw:api environment variable to capture Playwright logs.
------------------------------------------------------------------------------
01 CarConfig                                                          | FAIL |
3 tests, 0 passed, 3 failed
==============================================================================
Output:  /Source/RF-Schulung/02_RobotFiles/logs/output.xml
Log:     /Source/RF-Schulung/02_RobotFiles/logs/log.html
Report:  /Source/RF-Schulung/02_RobotFiles/logs/report.html

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

robotframework-stacktrace-0.2.0.tar.gz (9.1 kB view details)

Uploaded Source

Built Distribution

File details

Details for the file robotframework-stacktrace-0.2.0.tar.gz.

File metadata

  • Download URL: robotframework-stacktrace-0.2.0.tar.gz
  • Upload date:
  • Size: 9.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/3.7.3 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.59.0 CPython/3.9.0

File hashes

Hashes for robotframework-stacktrace-0.2.0.tar.gz
Algorithm Hash digest
SHA256 66a70e042bec7f04e0326029fecadc87ce4e3e8949d7ee8f76ab5d6615a567af
MD5 cdf4b36d144a9406f509fb64a4832ea7
BLAKE2b-256 b72b1f31a80c6462e843c28d15bb5c5301c4aa7afa4ae64bfb2314560f0f49de

See more details on using hashes here.

Provenance

File details

Details for the file robotframework_stacktrace-0.2.0-py3-none-any.whl.

File metadata

  • Download URL: robotframework_stacktrace-0.2.0-py3-none-any.whl
  • Upload date:
  • Size: 8.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/3.7.3 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.59.0 CPython/3.9.0

File hashes

Hashes for robotframework_stacktrace-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 5939f37a88b9695e14c8334676521f37210b595d0658845e826ae93f53ff3ca5
MD5 d28ff4b0b9d41cfec20d9746fd91dbae
BLAKE2b-256 f75f5340e73db6c58b3de4725caaf36d8e22ad0319466f44ce5cada8a5704ad9

See more details on using hashes here.

Provenance

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page