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

Overview

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:

> ../.. >> select" selector resolved to visible

New Stack Trace Output

> ../.. >> 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
You might also like...
Cloudshell-sandbox-reporter - Helper modules and classes for writing to Cloudshell sandbox console
Cloudshell-sandbox-reporter - Helper modules and classes for writing to Cloudshell sandbox console

Cloudshell Sandbox Reporter This project provides utility classes for formatting

💻  A fully functional local AWS cloud stack. Develop and test your cloud & Serverless apps offline!
💻 A fully functional local AWS cloud stack. Develop and test your cloud & Serverless apps offline!

LocalStack - A fully functional local AWS cloud stack LocalStack provides an easy-to-use test/mocking framework for developing Cloud applications. Cur

A Serverless Application Model stack that persists the $XRP price to the XRPL every minute as a TrustLine. There are no servers, it is effectively a "smart contract" in Python for the XRPL.

xrpl-price-persist-oracle-sam This is a XRPL Oracle that publishes external data into the XRPL. This Oracle was inspired by XRPL-Labs/XRPL-Persist-Pri

Simulation artifacts, core components and configuration files to integrate AWS DeepRacer device with ROS Navigation stack.
Simulation artifacts, core components and configuration files to integrate AWS DeepRacer device with ROS Navigation stack.

AWS DeepRacer Overview The AWS DeepRacer Evo vehicle is a 1/18th scale Wi-Fi enabled 4-wheel ackermann steering platform that features two RGB cameras

CloudFormation template and CDK stack that contains a CustomResource with Lambda function to allow the setting of the targetAccountIds attribute of the EC2 Image Builder AMI distribution settings which is not currently supported (as of October 2021) in CloudFormation or CDK.
Stack overflow search API

Stack overflow search API

A multi-tenant multi-client scalable product categorising demo stack
A multi-tenant multi-client scalable product categorising demo stack

Better Categories 4All: A multi-tenant multi-client product categorising stack The steps to reproduce training and inference are in the end of this fi

A part of HyRiver software stack for accessing hydrology data through web services
A part of HyRiver software stack for accessing hydrology data through web services

Package Description Status PyNHD Navigate and subset NHDPlus (MR and HR) using web services Py3DEP Access topographic data through National Map's 3DEP

Please Do Not Throw Sausage Pizza Away - Side Scrolling Up The OSI Stack

Please Do Not Throw Sausage Pizza Away - Side Scrolling Up The OSI Stack

Comments
  • Should not do mutating variable resolution

    Should not do mutating variable resolution

    Using parameter --listener RobotStackTracer in regular robot run results in different test result (pass vs fail):

    running robot Test.robot grafik

    running robot --listener RobotStackTracer Test.robot grafik

    This --listener RobotStackTracer is now used in latest pabot version and i wonder, why my tests fail with pabot but pass in robot.

    Versions: Windows 10 python 3.9.6 robotframework-pabot 2.0.0 robotframework 4.0.3

    bug 
    opened by DirkRichter 8
  • Topic side effecting

    Topic side effecting

    Resolve variable values only when failing. Specifically DO NOT resolve then during execution as this can cause failures if the variable value resolving has side-effects.

    opened by mkorpela 0
  • The test suite is failing

    The test suite is failing

    Hi,

    Perhaps I'm doing something wrong, but here's what I get when running python -m robot tests on the latest 0.4.1 release (archive from PyPI):

    starting phase `check'
    ==============================================================================
    Tests                                                                         
    ==============================================================================
    Tests.A-Suite                                                                 
    ==============================================================================
    Tests.A-Suite.B-Suite                                                         
    ==============================================================================
    Tests.A-Suite.B-Suite.C-Suite                                                 
    ==============================================================================
    Tests.A-Suite.B-Suite.C-Suite.D-Suite                                         
    ==============================================================================
    first teardown fail                                                   | FAIL |
    Teardown failed:
    by purpose
    ------------------------------------------------------------------------------
    Second setup fails                                                    | FAIL |
    Setup failed:
    'False' should be true.
    
    Also teardown failed:
    this fails as well
    ------------------------------------------------------------------------------
    Tests.A-Suite.B-Suite.C-Suite.D-Suite                                 | FAIL |
    Suite teardown failed:
    'False' should be true.
    
    2 tests, 0 passed, 2 failed
    ==============================================================================
    Tests.A-Suite.B-Suite.C-Suite                                         | FAIL |
    2 tests, 0 passed, 2 failed
    ==============================================================================
    Tests.A-Suite.B-Suite.C2-Suite                                                
    ==============================================================================
    Tests.A-Suite.B-Suite.C2-Suite.Never Runs                                     
    ==============================================================================
    Hi                                                                    | FAIL |
    Parent suite setup failed:
    This is a Suite Setup
    ------------------------------------------------------------------------------
    Tests.A-Suite.B-Suite.C2-Suite.Never Runs                             | FAIL |
    Parent suite setup failed:
    This is a Suite Setup
    
    1 test, 0 passed, 1 failed
    ==============================================================================
    Tests.A-Suite.B-Suite.C2-Suite                                        | FAIL |
    Suite setup failed:
    This is a Suite Setup
    
    Also suite teardown failed:
    Here the teardow
    
    1 test, 0 passed, 1 failed
    ==============================================================================
    Tests.A-Suite.B-Suite.C3-Suite                                                
    ==============================================================================
    Tests.A-Suite.B-Suite.C3-Suite.Fails Suite Teardown                           
    ==============================================================================
    Test                                                                  | PASS |
    ------------------------------------------------------------------------------
    Tests.A-Suite.B-Suite.C3-Suite.Fails Suite Teardown                   | FAIL |
    Suite teardown failed:
    in Suite Teardown
    
    1 test, 0 passed, 1 failed
    ==============================================================================
    Tests.A-Suite.B-Suite.C3-Suite                                        | FAIL |
    1 test, 0 passed, 1 failed
    ==============================================================================
    Tests.A-Suite.B-Suite                                                 | FAIL |
    Suite teardown failed:
    This Fails as well....
    
    4 tests, 0 passed, 4 failed
    ==============================================================================
    Tests.A-Suite                                                         | FAIL |
    4 tests, 0 passed, 4 failed
    ==============================================================================
    [ ERROR ] Error in file '/tmp/guix-build-python-robotframework-stacktrace-0.4.1.drv-0/robotframework-stacktrace-0.4.1/tests/basics.robot' on line 4: Resource file 'keywords.resource' does not exist.
    Tests.Basics                                                                  
    ==============================================================================
    PASS Testing 1                                                        | PASS |
    ------------------------------------------------------------------------------
    Testing 1                                                             | FAIL |
    1 != 2
    ------------------------------------------------------------------------------
    Testing 2                                                             | FAIL |
    No keyword with name 'Keyword2' found. Did you mean:
        Keyword
        BuiltIn.Run Keyword
    ------------------------------------------------------------------------------
    Resolve Variable                                                      | FAIL |
    scalar content
    ------------------------------------------------------------------------------
    Fail with a List                                                      | FAIL |
    Lists are different:
    Index 2: three != 3
    ------------------------------------------------------------------------------
    Fail with dict                                                        | FAIL |
    Dictionary does not contain key 'key'.
    ------------------------------------------------------------------------------
    Fail expanded keys                                                    | FAIL |
    Keyword 'Fail Expanded' got unexpected named arguments 'key1' and 'key2'.
    ------------------------------------------------------------------------------
    Fail expanded items                                                   | FAIL |
    ['key1', 'key2']
    ------------------------------------------------------------------------------
    Fail expanded list                                                    | FAIL |
    ['one', 'two', 'three']
    ------------------------------------------------------------------------------
    Fail with large file                                                  | FAIL |
    This file is full of vomit vomit vomit vomit vomit vomit vomit vomit vomit vomit vomit vomit vomit vomit vomit vomit vomit vomit vomit vomit vomit vomit vomit vomit vomit vomit vomit vomit vomit vomit vomit vomit vomit vomit vomit vomit vomit vomit vomit vomit vomit vomit vomit vomit vomit vomit vomit vomit vomit vomit vomit vomit vomit vomit vomit vomit vomit vomit vomit vomit vomit vomit vomit vomit vomit vomit vomit vomit vomit vomit vomit vomit vomit vomit vomit vomit vomit vomit vomit vomit vomit vomit vomit vomit
     vomit vomit vomit vomit vomit vomit vomit vomit vomit vomit vomit vomit vomit vomit vomit vomit vomit vomit vomit vomit vomit vomit vomit vomit vomit vomit vomit vomit vomit vomit vomit vomit vomit vomit vomit vomit vomit vomit vomit vomit vomit vomit vomit vomit vomit vomit vomit vomit vomit vomit vomit vomit vomit vomit vomit vomit vomit vomit vomit vomit vomit vomit vomit vomit vomit vomit vomit vomit vomit vomit vomit vomit vomit vomit vomit vomit vomit vomit vomit vomit vomit vomit vomit vomit
      vomit vomit vomit vomit vomit vomit vomit vomit vomit vomit vomit vomit vomit vomit vomit vomit vomit vomit vomit vomit vomit vomit vomit vomit vomit vomit vomit vomit vomit vomit vomit vomit vomit vomit vomit vomit vomit vomit vomit vomit vomit vomit vomit vomit vomit vomit vomit vomit vomit vomit vomit vomit vomit vomit vomit vomit vomit vomit vomit vomit vomit vomit vomit vomit vomit vomit vomit vomit vomit vomit vomit vomit vomit vomit vomit vomit vomit v...
        [ Message content over the limit has been removed. ]
    ...mit vomit vomit vomit vomit vomit vomit vomit vomit vomit vomit vomit vomit vomit vomit vomit vomit vomit vomit vomit vomit vomit vomit vomit vomit vomit vomit vomit vomit vomit vomit vomit vomit vomit vomit vomit vomit vomit vomit
                     vomit vomit vomit vomit vomit vomit vomit vomit vomit vomit vomit vomit vomit vomit vomit vomit vomit vomit vomit vomit vomit vomit vomit vomit vomit vomit vomit vomit vomit vomit vomit vomit vomit vomit vomit vomit vomit vomit vomit vomit vomit vomit vomit vomit vomit vomit vomit vomit vomit vomit vomit vomit vomit vomit vomit vomit vomit vomit vomit vomit vomit vomit vomit vomit vomit vomit vomit vomit vomit vomit vomit vomit vomit vomit vomit vomit vomit vomit vomit vomit vomit vomit vomit vomit
    
    
    
    
    
    
    
    
    
     != puke
    ------------------------------------------------------------------------------
    Fail with number                                                      | FAIL |
    1775675 != 23
    ------------------------------------------------------------------------------
    Fails with Unknown Variable                                           | FAIL |
    Variable '${unknown_var}' not found.
    ------------------------------------------------------------------------------
    Fail a compount                                                       | FAIL |
    this is a scalar content text with a ['one', 'two', 'three']
    ------------------------------------------------------------------------------
    Wrong If                                                              | FAIL |
    Evaluating expression 'time.seven' failed: AttributeError: module 'time' has no attribute 'seven'
    ------------------------------------------------------------------------------
    Tests.Basics                                                          | FAIL |
    14 tests, 1 passed, 13 failed
    ==============================================================================
    Tests.RunKeywords and WUKS                                                    
    ==============================================================================
    Tests.RunKeywords and WUKS.Run Keywords WUKS                                  
    ==============================================================================
    Run Keyword                                                           | FAIL |
    This one fails
    ------------------------------------------------------------------------------
    Run Keyword And Ignore Error                                          | PASS |
    ------------------------------------------------------------------------------
    Run Keyword And Continue On Failure                                   | FAIL |
    Several failures occurred:
    
    1) 1st Error
    
    2) 2nd Error
    
    3) 3rd Error
    
    4) 4th Error
    
    5) 5th Error
    ------------------------------------------------------------------------------
    Run Keyword And Expect Error                                          | PASS |
    ------------------------------------------------------------------------------
    Run Keyword And Return                                                | FAIL |
    Evaluating expression '" ".join(None)' failed: TypeError: can only join an iterable
    ------------------------------------------------------------------------------
    Run Keyword And Return If                                             | FAIL |
    Evaluating expression '" ".join(None)' failed: TypeError: can only join an iterable
    ------------------------------------------------------------------------------
    Run Keyword And Return Status                                         | FAIL |
    'False' should be true.
    ------------------------------------------------------------------------------
    Run Keyword And Warn On Failure                                       [ WARN ] Executing keyword 'Top Level One' failed:
    This should basically be a warning
    | PASS |
    ------------------------------------------------------------------------------
    Run Keywords                                                          | FAIL |
    with a message
    ------------------------------------------------------------------------------
    Pass WUKS                                                             | PASS |
    ------------------------------------------------------------------------------
    Fail in WUKS                                                          | FAIL |
    Keyword 'Fails some times' failed after retrying 9 times. The last error was: 10 != 9
    ------------------------------------------------------------------------------
    Tests.RunKeywords and WUKS.Run Keywords WUKS                          | FAIL |
    11 tests, 4 passed, 7 failed
    ==============================================================================
    Tests.RunKeywords and WUKS                                            | FAIL |
    11 tests, 4 passed, 7 failed
    ==============================================================================
    Tests.Side-Effecting                                                          
    ==============================================================================
    Side effect in variable resolving                                     | PASS |
    ------------------------------------------------------------------------------
    Side effect in variable resolving FAILING                             | FAIL |
    a
    ------------------------------------------------------------------------------
    Tests.Side-Effecting                                                  | FAIL |
    2 tests, 1 passed, 1 failed
    ==============================================================================
    Tests                                                                 | FAIL |
    31 tests, 6 passed, 25 failed
    ==============================================================================
    Output:  /tmp/guix-build-python-robotframework-stacktrace-0.4.1.drv-0/robotframework-stacktrace-0.4.1/output.xml
    Log:     /tmp/guix-build-python-robotframework-stacktrace-0.4.1.drv-0/robotframework-stacktrace-0.4.1/log.html
    Report:  /tmp/guix-build-python-robotframework-stacktrace-0.4.1.drv-0/robotframework-stacktrace-0.4.1/report.html
    error: in phase 'check': uncaught exception:
    %exception #<&invoke-error program: "python" arguments: ("-m" "robot" "tests") exit-status: 25 term-signal: #f stop-signal: #f> 
    phase `check' failed after 0.5 seconds
    command "python" "-m" "robot" "tests" failed with status 25
    

    Ideas?

    The only direct dependencies are [email protected] and [email protected].

    opened by Apteryks 0
Releases(0.4.1)
Owner
marketsquare
Robot Framework Community's shared code repositories
marketsquare
Simple script to extract useful informations from the combo BloodHound + Neo4j

bloodhound-quickwin Simple script to extract useful informations from the combo BloodHound + Neo4j. Can help to choose a target. Prerequisites python3

140 Dec 21, 2022
My personal template for a discord bot, including an asynchronous database and colored logging :)

My personal template for a discord bot, including an asynchronous database and colored logging :)

Timothy Pidashev 9 Dec 24, 2022
💰 Import your ING Germany bank statements via FinTS into YNAB.

Import your ING Germany bank statements via FinTS into YNAB. Setup Before setting this up, please register your FinTS product – it's free and takes on

Arne Bahlo 23 Jan 21, 2022
A Simple Telegram Inline Torrent Search Bot by @AbirHasan2005

A Simple Telegram Inline Torrent Search Bot by @AbirHasan2005

Abir Hasan 61 Oct 28, 2022
Create Fast and easy image datasets using reddit

Reddit-Image-Scraper Reddit Reddit is an American Social news aggregation, web content rating, and discussion website. Reddit has been devided by topi

Wasin Silakong 4 Apr 27, 2022
GG Dorking is a tool to generate GitHub and Google dorking for pentesters and bug bounty hunters.

GG-Dorking GG Dorking is a python tool to generate GitHub and Google dorking links for pentesters and bug bounty hunters. It will help you to find imp

Eslam Akl 80 Nov 24, 2022
A script that takes what you're listening too on Spotify and sets it as your Nertivia custom status.

nertivia-spotify-listening-status A script that takes what you're listening too on Spotify and sets it as your Nertivia custom status. setup Install r

Ben Tettmar 2 Feb 03, 2022
Python script to download WAX transactions

WAXtax Python script to download WAX transactions WAXtax uses the CoinGecko API and the WAX Blockchain History API to download csvs for each account y

SixPM Software 11 Oct 09, 2022
💻 Discord-Auto-Translate-Bot - If you type in the chat room, it automatically translates.

💻 Discord-Auto-Translate-Bot - If you type in the chat room, it automatically translates.

LeeSooHyung 2 Jan 20, 2022
A simple Discord Mass-Ban that's still working with Member Scraper.

Mass-Ban [!] This was made for education / you can use for revenge. Please don't skid it. [!] If you want to use it, please use member scraper before

WoahThatsHot 1 Nov 20, 2021
Drop-in Replacement of pychallonge

pychal Pychal is a drop-in replacement of pychallonge with some extra features and support for new Python versions. Pychal provides python bindings fo

ZED 29 Nov 28, 2022
Easily report Instagram pages and close the page

Program Features - 📌 Delete target post on Instagram. - 📌 Delete Media Target post on Instagram - 📌 Complete deletion of the target account on Inst

hack4lx 11 Nov 25, 2022
Kakatua discord music bot

Donate Ayo donasi! Lokal Internasional Ucapan Terima Kasih Tentu saja, donatur Bunga dan talent-talent h!mawari. Semoga rezeki teman-teman semakin lan

1 Oct 30, 2021
Production Ontology Merging (PrOM) Framework

Production Ontology Merging (PrOM) Framework OWL 2 DL ontology merging framework tailored to the production domain Features preprocessing: translation

4 Nov 02, 2022
Un bot leggero basato su py-cord facile da hostare sul cloud

GalbiBot Un bot leggero basato su py-cord facile da hostare sul cloud Guida installazione su una macchina Per far funzionare il bot devi aver installa

Galbaninoh 2 Oct 21, 2022
Ap lokit lokit

🎵 FANDA PROJECT 🎵 HAI AKU FANDA! Requirements 📝 FFmpeg NodeJS nodesource.com Python 3.8 or higher PyTgCalls MongoDB Get STRING_SESSION from below:

Fatur 2 Nov 18, 2021
A minimalistic library designed to provide native access to YNAB data from Python

pYNAB A minimalistic library designed to provide native access to YNAB data from Python. Install The simplest way is to install the latest version fro

Ivan Smirnov 92 Apr 06, 2022
Host your Python Discord Bot 24/7 for free. POC

🐉 Pandore 🐉 The easiest and fastest way to host your Python3 Discord Bot 24/7 for free! 📚 Documentation 📚 If you encounter any problem while using

Billy 73 Jan 02, 2023
Discord Token Generator - Python (Generates Tokens and Joins your Server Automatically) hCaptcha Bypass **FREE**

Best Discord Token Generator {hCaptcha bypass FREE Unlimited Memberboost} Install few requirements & run main.py it will redirect you to the Download

1 Oct 27, 2021
Senditapp.com bot spammer, spam your friends

Sendit Spammer Python ⚠️ I am not responsible for how you use this tool. This tool is against "Sendit" ToS and shall not be used in a production envir

Glaukio 1 Dec 31, 2021