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
ignorant allows you to check if a phone number is used on different sites like snapchat, instagram.

Ignorant For BTC Donations : 1FHDM49QfZX6pJmhjLE5tB2K6CaTLMZpXZ ignorant does not alert the target phone number ignorant allows you to check if a phon

Palenath 513 Dec 31, 2022
RichWatch is wrapper around AWS Cloud Watch to display beautiful logs with help of Python library Rich.

RichWatch is TUI (Textual User Interface) for AWS Cloud Watch. It formats and pretty prints Cloud Watch's logs so they are much more readable. Because

21 Jul 25, 2022
Nautobot-custom-jobs - Custom jobs for Nautobot

nautobot-custom-jobs This repo contains custom jobs for Nautobot. Installation P

Dan Peachey 9 Oct 27, 2022
Elemeno.ai standard development kit in Python

Overview A set of glue code and utilities to make using elemeno AI platform a smooth experience Free software: Apache Software License 2.0 Installatio

Elemeno AI 3 Dec 14, 2022
A telegram media to gofile bot

GoFile-Bot A telegram media to gofile bot Made with Python3 (C) @FayasNoushad Copyright permission under MIT License License - https://github.com/Fay

Fayas Noushad 37 Nov 14, 2022
discord voice bot to stream radio

Radio-Id Bot (Discord Voice Bot) Radio-id-bot (Radio Indonesia) is a simple Discord Music Bot built with discord.py to play a radio from some Indonesi

Adi Fahmi 20 Sep 20, 2022
Bot made with Microsoft Azure' cloud service

IttenWearBot Autori: Antonio Zizzari Simone Giglio IttenWearBot è un bot intelligente dotato di sofisticate tecniche di machile learning che aiuta gli

Antonio Zizzari 1 Jan 24, 2022
Trading strategy for the Freqtrade crypto bot

NostalgiaForInfinity Trading strategy for the Freqtrade crypto bot Change strategy Add strategies to the user_data/strategies folder and also in the d

iterativ 1.5k Jan 01, 2023
Python script to harvest tweets with the Twitter API V2 Academic Research Product Track

Tweet harvester Python script to scrape, collect, and/or harvest tweets with the Twitter API V2 Academic Research Product Track. Important note: In or

Thomas Frissen 2 Nov 11, 2021
🌶️ Give real chat boosting to your discord server.

Chat-Booster Give real chat boosting to your discord server. ✅ Setup: - Add token to scrape messages on server that you whant. - Put the token in

&! Ѵιchy.#0110 36 Nov 04, 2022
A light weight Python library for the Spotify Web API

Spotipy A light weight Python library for the Spotify Web API Documentation Spotipy's full documentation is online at Spotipy Documentation. Installat

Paul Lamere 4.2k Jan 06, 2023
Snipe fair coin launches. Contact @dannsniper on telegram for whitelist

Pancakeswap-sniper Pancakeswap Sniper bot Full version of Pancakeswap sniping bot used to snipe during fair coin launches. With advanced options and a

36 Nov 01, 2021
Lol qq parser - A League of Legends parser for QQ data

lol_qq_parser A League of Legends parser for QQ data Sources This package relies

Tolki 3 Jul 13, 2022
Opasium AI was specifically designed for the Opasium Games discord only. It is a bot that covers the basic functions of any other bot.

OpasiumAI Opasium AI was specifically designed for the Opasium Games discord only. It is a bot that covers the basic functions of any other bot. Insta

Dan 3 Oct 15, 2021
A heraldry-related bot, designed for the Heraldry Community.

Heraldtron A heraldry-related bot, designed for the Heraldry Community. Requirements Python 3.9+ discord.py aiohttp (comes installed with discord.py)

1 Mar 31, 2022
Analyzed the data of VISA applicants to build a predictive model to facilitate the process of VISA approvals.

Analyzed the data of Visa applicants, built a predictive model to facilitate the process of visa approvals, and based on important factors that significantly influence the Visa status recommended a s

Jesus 1 Jan 08, 2022
Script to get a notification when a product, on Amazon Warehouse, is available within a target price

Amazon_Warehouse_Scraping This script aims to scrape Amazon Warehouse and send an email back if there are products whose price matches with the target

2 Oct 25, 2021
Discord bot to display private leaderboards for Advent of Code.

Advent Of Code Discord Bot Discord bot for displaying Advent of Code private leardboards, as well as custom leaderboards where participants can set th

The Future Gadgets Lab 6 Nov 29, 2022
PyMed is a Python library that provides access to PubMed.

IMPORTANT NOTE: I don't have time to maintain this library (as some of you might have noticed). The PubMed API is a little chaotic, without a clear do

Gijs Wobben 143 Dec 21, 2022
Discord bot developed by Delhi University Student Community!

DUSC-Bot Discord bot developed by Delhi University Student Community! Libraries Used Pycord - Documentation Features Can purge messages in bulk Drop-D

professor 1 Jan 29, 2022