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
The official Python client library for the Kite Connect trading APIs

The Kite Connect API Python client - v3 The official Python client for communicating with the Kite Connect API. Kite Connect is a set of REST-like API

Zerodha Technology 756 Jan 06, 2023
all-in-one wrapper for NASA API's

=========== About bowshock is an all-in-one wrapper for NASA API's. Here is a list of currently supported API's : NASA Earth API NASA APOD (Astronomy

Emir Ozer 85 Nov 09, 2022
Hacktoberfest2021 - Submit Just 4 PRs to earn SWAGS and Tshirts🔥

dont contribute in this repo, contribute only in below mentioned repo Special Note For Everyone ''' always make more then 4 pull request lets you have

Keshav Singh 820 Jan 02, 2023
A repo-watcher to watch for commits on a repo an trigger GitHub action by sending a `repository_dispatch` event to destinantion repo

repo-watcher-dispatch-sender This app is used to send a repository_dispatch event to the destination repo set in config.py or Environmental Variables

Divide Projects™ 2 Feb 06, 2022
A discord token creator that uses the service capmonster for captcha solving!

Discord Token Creator A discord token creator that uses the service capmonster for captcha solving! Report Bug · Request Feature Features Autojoin dis

dropout 41 Oct 25, 2021
Change the name and pfp of ur accounts, uses tokens.txt for ur tokens.

Change the name and pfp of ur accounts, uses tokens.txt for ur tokens. Also scrapes the pfps+names from a server chosen by you. For hq tokens go to discord.gg/tokenshop or t.me/praisetelegram

cChimney 36 Dec 09, 2022
Small Python Tracker clone of Electra

Discord Bot Tracker - Python Simply Track your Bots (Status) to get notified when one of those go offline/online. Paste IDs into the config.py files,

Koni 2 Nov 23, 2021
This is a python bot that automatically logs in, clicks the new button, and sends heroes to work in the bombcrypto game

This is a python bot that automatically logs in, clicks the new button, and sends heroes to work in the bombcrypto game. It is fully open source and free.

856 Jan 04, 2023
An automated bot for twitter using Tweepy!

Tweeby An automated bot for twitter using Tweepy! About This bot will look for tweets that contain certain hashtags, if found. It'll send them a messa

Ori 1 Dec 06, 2021
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
tfquery: Run SQL queries on your Terraform infrastructure. Query resources and analyze its configuration using a SQL-powered framework.

🌩️ tfquery 🌩️ Run SQL queries on your Terraform infrastructure. Ask questions that are hard to answer 🚀 What is tfquery? tfquery is a framework tha

Mazin Ahmed 311 Dec 21, 2022
Tiktok 2 Instagram With Python

Tiktok2Instagram 📸 About The Project What it does: Download the source video from a user inputted Tiktok URL. 📙 Add audio to the Tiktok video from a

Carter Belisle 4 Feb 06, 2022
Python CMR is an easy to use wrapper to the NASA EOSDIS Common Metadata Repository API.

This repository is a copy of jddeal/python_cmr which is no longer maintained. It has been copied here with the permission of the original author for t

NASA 9 Nov 16, 2022
Cryptocurrency Prices Telegram Bot For Python

Cryptocurrency Prices Telegram Bot How to Run Set your telegram bot token as environment variable TELEGRAM_BOT_TOKEN: export TELEGRAM_BOT_TOKEN=your_

Sina Nazem 3 Oct 31, 2022
Simple screen recorder

Kooha Simple screen recorder Description Kooha is a simple screen recorder built with GTK. It allows you to record your screen and also audio from you

Dave Patrick 1.2k Jan 03, 2023
pyhakuna is a client to access the API of the time keeping service hakuna.ch.

pyhakuna pyhakuna is a client to access the API of the time keeping service hakuna.ch. The Hakuna API is – unfortunately – personal and currently does

Christian Mäder 1 Feb 15, 2022
Практическая работа 6 - Документирование кода

Практическая работа №6 ПСП – правильная скобочная последовательность – последовательность из открывающих «(« и закрывающих «)» круглых скобок. Програм

0 Apr 14, 2022
Discord Unverified Token Gen

Discord-Unverified-Token-Gen This is a token gen that was made in an hour and just generates unverified tokens, most will be locked. Usage: in cmd jus

Aran 2 Oct 23, 2022
A wrapper to stream information from Twitter's Full-Archive Search Endpoint

A wrapper to stream information from Twitter's Full-Archive Search Endpoint. To exploit this library, one must have approved academic research access.

Daniela Pinto Veizaga 9 Nov 28, 2022