A complete test automation tool

Overview

Golem - Test Automation

Build Status Documentation Status Join the chat at https://gitter.im/golem-framework/golem

Golem is a test framework and a complete tool for browser automation. Tests can be written with code in Python, codeless using the web IDE, or both.

Tests can be written with the web app

But, they are still Python code

Batteries Included


Golem is still in beta!. Read the changelog before upgrading.


Screen Captures

Report Dashboard

Execution Report

Test Execution Detail

Installation

Golem works with Python 3.5+

pip install golem-framework

Read the full installation guide here: https://golem-framework.readthedocs.io/en/latest/installation.html

Quick Start

Create a test directory anywhere in your machine

golem-admin createdirectory <test_directory>

Download the latest webdriver executables

cd <test_directory>
webdriver-manager update

Webdriver executables are downloaded to the drivers folder. For more information check this page of the documentation.

Start the Web Module

golem gui

The Web Module can be accessed at http://localhost:5000/

By default, the following user is available: username: admin / password: admin

Run a Test From Console

golem run <project> <test>
golem run <project> <suite>

Args:

  • -b | --browsers: a list of browsers, by default use defined in settings.json or Chrome
  • -p | --processes: run in parallel, default 1 (not parallel)
  • -e | --environments: a list of environments, the default is none
  • -t | --tags: filter tests by tags

Documentation

https://golem-framework.readthedocs.io/

Questions

If you have any question please use the Gitter channel.

Contributing

If you found a bug or want to contribute code please read the contributing guide.

License

MIT

Credits

Logo based on "to believe" by Shannon E Thomas, CC BY 4.0

Comments
  • chrome 70: every test fails on driver.maximizewindow()

    chrome 70: every test fails on driver.maximizewindow()

    with updating to chrome 70 we have issue with running tests open browser action contains driver.maximizewindow() which worked until chrome 69 and still works on every other browser

    but after the update to 70 we are getting this error

    WebDriverException: Message: unknown error: failed to change window state to maximized, current state is normal (Session info: chrome=70.0.3538.77) (Driver info: chromedriver=2.43.600229 (3fae4d0cda5334b4f533bede5a4787f7b832d052),platform=Mac OS X 10.13.6 x86_64)

    bug 
    opened by filiprichtarik 11
  • [enhancement] support for dynamically set

    [enhancement] support for dynamically set "desired capabilities" and "cookies"

    @lucianopuccio I don't see any option to set an enhancement label for this issue via the regular issue input from github, so that is why I used [enhancement] in the title.

    Looking at the great Zalenium grid container (https://zalando.github.io/zalenium/) and some other remote browser environments, it would be great if Golem would support the following features:

    • Setting up a browser instance with dynamically set "desired capabilities" per test case, enabling: -- Custom browser versions / platforms for remote browser tests. -- Naming of recorded test video's within Zalenium in case the testcase name is set via 'desired capabilities'(see referenced website -test name- section).

    • Set dynamic cookies during tests. -- In case of Zalenium this would enable referenced test steps in the recorded Video's (see referenced website -Referencing test steps in the recorded video- section-)

    enhancement 
    opened by r-roos 10
  • Defining & Passing data in more complex data structures like List & Dictionary Objects

    Defining & Passing data in more complex data structures like List & Dictionary Objects

    In case user needs to pass data in more complex data structures like lists,dictionary,tuples etc, how can it be defined & passed as parameters inside functions(actions)?

    Example: List of standard common labels across application pages , to be verified so the list of those labels/objects can be passed around as arguments to functions to verify .

    opened by vishal-agg 9
  • Refactor Golem actions

    Refactor Golem actions

    Proposed new, renamed and removed actions

    New Actions

    • assert
    • assert_*
    • go_back
    • set_search_timeout
    • get_search_timeout
    • double_click
    • drag_and_drop
    • focus_element
    • close_all_browsers
    • set_trace
    • error
    • execute_javascript
    • fail
    • javascript_click
    • deselect_option_by_text
    • deselect_option_by_value
    • deselect_option_by_index
    • verify_selected_option_by_text
    • verify_selected_option_by_value
    • get_alert_text
    • send_text_to_alert
    • submit_prompt_alert
    • verify_alert_present
    • verify_alert_not_present
    • verify_alert_text
    • verify_alert_text_is_not
    • wait_for_alert_present
    • verify_element_has_attribute
    • verify_element_has_not_attribute
    • verify_page_not_contains_text
    • verify_element_text_contains
    • verify_element_text_is_not
    • verify_element_text_not_contains
    • verify_title
    • verify_title_contains
    • verify_title_is_not
    • verify_title_not_contains
    • verify_url
    • verify_url_contains
    • verify_url_is_not
    • verify_url_not_contains
    • wait_for_element_present
    • wait_for_element_not_enabled
    • wait_for_page_contains_text
    • wait_for_page_not_contains_text
    • wait_for_element_text
    • wait_for_element_text_is_not
    • wait_for_element_contains_text
    • wait_for_element_not_contains_text
    • wait_for_element_has_attribute
    • wait_for_element_has_not_attribute
    • wait_for_alert_present
    • wait_for_alert_not_present
    • wait_for_title
    • wait_for_title_is_not
    • wait_for_title_contains
    • wait_for_title_not_contains
    • verify_element_attribute
    • verify_element_attribute_is_not
    • go_forward
    • check_element
    • uncheck_element
    • submit_form
    • switch_to_default_content
    • switch_to_frame
    • switch_to_parent_frame
    • get_window_titles
    • get_window_handle
    • get_window_handles
    • get_window_index
    • switch_to_first_window
    • switch_to_last_window
    • switch_to_window_by_index
    • switch_to_window_by_title
    • switch_to_window_by_partial_title
    • switch_to_window_by_url
    • switch_to_window_by_partial_url
    • switch_to_next_window
    • switch_to_previous_window
    • close_window
    • close_window_by_index
    • close_window_by_title
    • close_window_by_url
    • close_window_by_partial_title
    • close_window_by_partial_url
    • verify_window_present_by_title
    • verify_window_present_by_partial_title
    • verify_window_present_by_url
    • verify_window_present_by_partial_url
    • verify_amount_of_windows
    • wait_for_window_present_by_title
    • wait_for_window_present_by_partial_title
    • wait_for_window_present_by_url
    • wait_for_window_present_by_partial_url
    • wait_for_window_not_present_title
    • wait_for_window_not_present_url
    • wait_for_window_not_present_partial_title
    • wait_for_window_not_present_partial_url
    • wait_for_amount_of_windows
    • maximize_window
    • get_element_text
    • get_element_value
    • verify_element_has_focus
    • verify_element_has_not_focus
    • get_element_attribute

    Renamed Actions

    • capture -> take_screenshot
    • clear -> clear_element
    • close -> close_browser
    • debug -> interactive_mode
    • mouse_hover -> mouse_over
    • select_by_index -> select_option_by_index
    • select_by_text -> select_option_by_text
    • select_by_value -> select_option_by_value
    • verify_alert_is_present -> verify_alert_present
    • verify_alert_is_not_present -> verify_alert_not_present
    • verify_cookie_exists -> verify_cookie_present
    • verify_is_enabled -> verify_element_enabled
    • verify_is_not_enabled -> verify_element_not_enabled
    • verify_is_selected -> verify_element_checked
    • verify_is_not_selected -> verify_element_not_checked
    • verify_is_visible -> verify_element_displayed
    • verify_is_not_visible -> verify_element_not_displayed
    • verify_exists -> verify_element_present
    • verify_not_exists -> verify_element_not_present
    • verify_text -> verify_page_contains_text
    • verify_text_in_element -> verify_element_text
    • wait_for_element_not_exist -> wait_for_element_not_present
    • wait_for_element_visible -> wait_for_element_displayed
    • wait_for_element_not_visible -> wait_for_element_not_displayed

    Removed Actions

    • assert_contains
    • assert_equals
    • assert_false
    • assert_true
    • verify_selected_option
    feature 
    opened by luciano-renzi 7
  • GUI: suggestions for test step arguments are displayed in incorrect order

    GUI: suggestions for test step arguments are displayed in incorrect order

    With the current latest source of (22-10-2017) I am experiencing the following GUI bug.

    The field indicators when adding a test step that requires multiple arguments is displayed in the incorrect order within the gui. This results in a issue where once calling the test step the function is called with the wrong order of arguments.

    Example: The following test step function: image

    end up being presented as (TOP: correct order for function call, BOTTOM: incorrect initial suggestions, the bug) image

    The result of the above: image

    bug 
    opened by r-roos 6
  • Announcement: Moving project to a Github organization

    Announcement: Moving project to a Github organization

    I would like to announce that I will be moving this and some related repos to @golemhq org.

    I'm pleased with the feedback the project has got so far and thankful for all the contributions. I want to see it grow to its full potential. This change will help keep things more organized.

    Also, I'll be renaming my username shortly after.

    announcement 
    opened by luciano-renzi 5
  • Differentiating between soft vs. hard assertions inside tests

    Differentiating between soft vs. hard assertions inside tests

    How framework supports hard vs. soft assertions inside an test.

    Terminology Hard Assertions:Test execution stops as soon as assertion failure found. Soft Assertions:Test execution continues even if assertion failure found.

    enhancement 
    opened by vishal-agg 5
  • Getting ModuleNotFoundError on launching web Module

    Getting ModuleNotFoundError on launching web Module

    Environment: OS:Win7 Python: 3.6.3

    Steps: 1).Installed Python 3.6.3 in Windows 7 2).Installed Golem by pip install golem-framework. 3).Created the test directory : golem-admin C:\Golem 4).Downloaded Chrome Browser Driver 2.33 and placed inside Drivers folder. 5).Started the web Module: cd C:\Golem python golem.py gui 6).Got the error on command prompt as attached screenshot.

    However this is working fine in Python 3.4.4 version. golemuilauncherror

    cannot reproduce 
    opened by viaggarwal 5
  • Test run fails:  NameError: name 'msg' is not defined, Could not start chrome driver using the path './drivers/chromedriver*'

    Test run fails: NameError: name 'msg' is not defined, Could not start chrome driver using the path './drivers/chromedriver*'

    Starting with the project Error 1 The test run fails due to chromdriver is not properly set. H The chromedriver is in the directory ./drivers/chromedriver*' and its set in the settings on the same path

    Error 2: the exception block fails because the variable "msg" is undefined. For which I'm willing to raise Pull Request, does it work?

    Stacktrace

    13:08:20.951 INFO Test execution started: image_push
    13:08:20.951 INFO Browser: chrome
    13:08:20.967 ERROR Could not start chrome driver using the path './drivers/chromedriver*', check the settings file.
    13:08:20.971 INFO Traceback (most recent call last):
    File "/Users/pooja/venv/python3/lib/python3.6/site-packages/selenium/webdriver/common/service.py", line 76, in start
    stdin=PIPE)
    File "/usr/local/Cellar/python/3.6.5/Frameworks/Python.framework/Versions/3.6/lib/python3.6/subprocess.py", line 709, in __init__
    restore_signals, start_new_session)
    File "/usr/local/Cellar/python/3.6.5/Frameworks/Python.framework/Versions/3.6/lib/python3.6/subprocess.py", line 1344, in _execute_child
    raise child_exception_type(errno_num, err_msg, err_filename)
    PermissionError: [Errno 13] Permission denied: '/Users/pooja/venv/python3/golem_fw/drivers/chromedriver_2.38'
    During handling of the above exception, another exception occurred:
    Traceback (most recent call last):
    File "/Users/pooja/venv/python3/lib/python3.6/site-packages/golem/browser.py", line 268, in open_browser
    chrome_options=chrome_options)
    File "/Users/pooja/venv/python3/lib/python3.6/site-packages/selenium/webdriver/chrome/webdriver.py", line 68, in __init__
    self.service.start()
    File "/Users/pooja/venv/python3/lib/python3.6/site-packages/selenium/webdriver/common/service.py", line 88, in start
    os.path.basename(self.path), self.start_error_message)
    selenium.common.exceptions.WebDriverException: Message: 'chromedriver_2.38' executable may have wrong permissions. Please see https://sites.google.com/a/chromium.org/chromedriver/home
    13:08:20.973 ERROR An error ocurred:
    File "/Users/pooja/venv/python3/lib/python3.6/site-packages/golem/test_runner/test_runner.py", line 122, in run_test
    test_module.test(execution.data)
    File "/Users/pooja/venv/python3/golem_fw/projects/flash/tests/image_push.py", line 10, in test
    navigate("https://www.google.com")
    File "/Users/pooja/venv/python3/lib/python3.6/site-packages/golem/actions.py", line 337, in navigate
    driver = browser.get_browser()
    File "/Users/pooja/venv/python3/lib/python3.6/site-packages/golem/browser.py", line 343, in get_browser
    open_browser()
    File "/Users/pooja/venv/python3/lib/python3.6/site-packages/golem/browser.py", line 273, in open_browser
    raise Exception(msg)
    NameError: name 'msg' is not defined
    Result: fail 
    Error: NameError: name 'msg' is not defined 
    Elapsed Time: 0.02
    Browser: chrome
    Steps:
    
    opened by p00j4 4
  • Test Debugger no longer working

    Test Debugger no longer working

    golem run -i works correctly with #97

    adding debug() or a import pdb; pdb.set_trace() to a test no longer works, it enters then exits the debugger without stopping.

    dbug() log: INFO:golem:Click Login Button Entering interactive debug mode Type exit() to stop

    now exiting InteractiveConsole...

    pdb log: 13:17:24 INFO Click Login Button INFO:golem:Click Login Button

    /home/daniel/Development/golem/FunctionalTests/projects/OSC/tests/forgot_password.py(19)test() -> click(forgot_password.forgot_link) (Pdb) 13:17:27 ERROR An error ocurred: Traceback (most recent call last): File "/home/daniel/Development/golem-dm/env/lib/python3.6/site-packages/golem_framework-0.4.5-py3.6.egg/golem/test_runner/test_runner.py", line 122, in run_test test_module.test(execution.data) File "/home/daniel/Development/golem/FunctionalTests/projects/OSC/tests/forgot_password.py", line 19, in test click(forgot_password.forgot_link) File "/home/daniel/Development/golem/FunctionalTests/projects/OSC/tests/forgot_password.py", line 19, in test click(forgot_password.forgot_link) File "/usr/lib/python3.6/bdb.py", line 48, in trace_dispatch return self.dispatch_line(frame) File "/usr/lib/python3.6/bdb.py", line 67, in dispatch_line if self.quitting: raise BdbQuit bdb.BdbQuit

    bug 
    opened by danielmaddern 4
  • Issues with page objects

    Issues with page objects

    OS name and version - Win 10 (x64)
    Python version - Python 3.6.3 (v3.6.3:2c5fed8, Oct  3 2017, 17:26:49) [MSC v.1900 32 bit (Intel)] on win32
    Golem version - I don't know where I can check it (latest installed with pip)
    

    I faced with the following problem: For unknown for me reasons golem doesn't save elements in page objects (without showing any tips or message) or doesn't show objects if I fill it in mode. Sometimes it erased objects if saved it before. More details please see on attached videos: http://recordit.co/by6VOYYFXk http://recordit.co/yzWWx4bUxC

    opened by ArtemSukhomlyn 4
  • Can we use golem with already open browser?

    Can we use golem with already open browser?

    I want to use golem with my default browser which is already logged in to websites. is it possible to open my default browser or the browser that I want?

    opened by Captain05 1
  • New test hooks: before_test, before_each, after_each, after_test

    New test hooks: before_test, before_each, after_each, after_test

    There are 4 new test hook functions that can be defined in a test file:

    • before_test: runs at the beginning of a test file, replaces setup
    • before_each: runs before each test function
    • after_each: runs after each test function
    • after_test: runs allways at the end of a test file, replaces teardown
    feature 
    opened by luciano-renzi 0
  • New data source: JSON

    New data source: JSON

    • There is a new data source type: JSON
    • test_data setting is removed, each test file can have its own data source type
    • Internal data uses now a Python code editor
    feature 
    opened by luciano-renzi 0
  • Converting Katalon/Selenium IDE recordings into Golem test scripts

    Converting Katalon/Selenium IDE recordings into Golem test scripts

    This Feature should be implement like below.

    1. user should have an option on test code script page for convert Katalon/Selenium IDE recording python script into Golem test script.

    need to add one button on test code script page where user can upload katon/selenium IDE python script and after upload it should convert into golem test script and will display on test code script pge.

    through command it should be like golem convert katalonscript.py <project_name> <test_name>

    feature 
    opened by Sunil-Rathore 6
Releases(0.10.1)
  • 0.10.1(Jul 30, 2021)

    Added

    • Improved CLI reporter
    • Add autocomplete suggestions for test code editor #214 :: Sunil-Rathore
    • Highlight element when found, toggled by setting, action of find method #220
    • feature: Custom Browser Boot Up #222

    Changed

    • find(), find_all() now accept XPath as first positional parameter
    • browser.open_browser now accepts browser_name, capabilities and remote_url
    Source code(tar.gz)
    Source code(zip)
  • 0.10.0(Jun 11, 2021)

  • 0.9.2(Apr 15, 2021)

  • 0.9.1(Aug 4, 2020)

    Added

    • Rename/Delete folders; improved file list navigation #179

    • Remove executions from report dashboard

    • Skip flag to test #146

    • Actions: log, random_str, random_int, random_float

    • --cli-log-level arg to golem run command

    • Document golem.execution module

    Fixed

    Deprecated

    • console_log_level setting, renamed to: cli_log_level
    Source code(tar.gz)
    Source code(zip)
  • 0.9.0(Jul 1, 2019)

    Added

    • createsuperuser command
    • User management page, user profile page
    • Implicit/explicit actions import #136
      • Actions can now be imported explicitly.
      • New setting key: implicit_actions_import, default is true.
    • Implicit/explicit page import #137
      • Pages can now be imported explicitly.
      • New setting key: implicit_page_import, default is true.

    Removed

    • createuser command

    Changed

    • A file named .golem must exist in the test directory. Migrate steps:
      1. Create a file named .golem in the test directory root with the following content:
      [gui]
      secret_key = your_secret_key_string
      
    • Passwords are now hashed. Migrate steps:
      1. Delete old users.json file
      2. Create a super user using the golem createsuperuser command
      3. Non superusers must be created using the /users/ page
    • admin user role changed to superuser User roles are: superuser, admin, standard, read-only, reports-only
    • Improved test step parser #168
      • Non function calls are shown as code blocks (using a code editor)
      • Added code_block action to insert new code blocks
    • golem.execution.workspace -> golem.execution.testdir
    Source code(tar.gz)
    Source code(zip)
    golem-0.9.0-win64.zip(10.72 MB)
  • 0.8.0(Apr 12, 2019)

    Changed

    • -t, --threads argument changed to -p, --processes #148

    Deprecated

    Python 3.4

    Added

    • Filter tests by tags #147 :: r-roos, Luciano Renzi
      • New argument for golem run command: -t, --tags
      • Add and edit tags using the UI
      • Accept tag expressions for complex comparisons
      • Docs: Filter Tests by Tags
    • New args to golem gui command: --host (default 127.0.0.1), -d|--debug (default False)
    • New actions: assert_element_value, assert_element_value_is_not, verify_element_value, verify_element_value_is_not, send_keys_with_delay
    • New WebElement methods: inner_html, outer_html, send_keys_with_delay
    Source code(tar.gz)
    Source code(zip)
    golem-0.8.0-win64.zip(10.66 MB)
  • 0.7.0(Jan 22, 2019)

    Added

    • Generate JUnit (XML) report #50 :: Daniel Maddern
    • Generate JUnit and HTML reports after execution #134
      • report options: 'junit', 'json', 'html', 'html-no-images'
    • Specify name and location for the generated reports #156
    • Modify screenshot format, size, and compression #158
    • Exit with status code = 1 when execution has errors/failures #145 :: r-roos
    • Document Golem standalone generation using PyInstaller #157
    • Actions: timer_start, timer_stop

    Changed

    • Report filename from 'execution_report.json' to 'report.json'
    Source code(tar.gz)
    Source code(zip)
    golem-0.7.0-linux64.zip(18.87 MB)
    golem-0.7.0-win64.zip(10.60 MB)
  • 0.6.2(Dec 5, 2018)

    Added

    • Secrets data feature :: r-roos
      • https://golem-framework.readthedocs.io/en/latest/test-data.html#secrets
    • GUI improvements #149 :: Luciano Renzi

    Fixed

    • Maximize Chrome in macOS issue #130 :: Filip Richtárik, r-roos
    Source code(tar.gz)
    Source code(zip)
  • 0.6.1(Nov 24, 2018)

    Added

    • 'start_maximized' setting key
    • Firefox headless ('firefox-headless' and 'firefox-remote-headless')
    • Run every test in tests folder: golem run <project> .
    • Run every test in a sub-folder: golem run <project> foo/bar/
    • Run test or suite from relative path: golem run <project> path/to/test.py
    Source code(tar.gz)
    Source code(zip)
  • 0.6.0(Nov 24, 2018)

    Added

    • New actions: go_back, set_search_timeout, get_search_timeout, double_click, focus_element, set_trace, error, execute_javascript, fail, javascript_click, verify_selected_option_by_text, verify_selected_option_by_value, get_alert_text, send_text_to_alert, submit_prompt_alert, verify_alert_text, verify_alert_text_is_not, wait_for_alert_present verify_element_has_attribute, verify_element_has_not_attribute, verify_element_has_focus, verify_element_has_not_focus, verify_page_not_contains_text, verify_element_text, verify_element_text_is_not, verify_element_text_not_contains, verify_title verify_title_contains, verify_title_is_not, verify_title_not_contains, verify_url, verify_url_contains, verify_url_is_not verify_url_not_contains, wait_for_element_present, wait_for_element_not_enabled, wait_for_page_contains_text, wait_for_page_not_contains_text, wait_for_element_text, wait_for_element_text_is_not, wait_for_element_text_contains, wait_for_element_text_not_contains, wait_for_element_has_attribute, wait_for_element_has_not_attribute, wait_for_title, wait_for_title_is_not, wait_for_title_contains, wait_for_title_not_contains, verify_element_attribute_value, verify_element_attribute_is_not, go_forward, check_element, uncheck_element, submit_form, switch_to_frame, switch_to_parent_frame get_active_element, get_window_title, get_window_titles, get_window_handle, get_window_handles, get_window_index, switch_to_window_by_index, switch_to_first_window, switch_to_last_window, switch_to_window_by_title, switch_to_window_by_partial_title switch_to_window_by_url, switch_to_window_by_partial_url, verify_amount_of_windows, close_window verify_window_present_by_title, verify_window_present_by_partial_title, maximize_window, get_page_source, switch_to_next_window switch_to_previous_window, close_window_by_index, close_window_by_title, close_window_by_url, close_window_by_partial_title, close_window_by_partial_url, get_element_attribute, get_element_value, get_element_text, wait_for_window_present_by_title, wait_for_window_present_by_partial_title, get_window_size, get_data, send_secure_keys

    • Added verify_* actions for soft assertions and assert_* for hard assertions

    Changed

    • Renamed actions:

      • capture -> take_screenshot
      • clear -> clear_element
      • close -> close_browser
      • debug -> interactive_mode
      • mouse_hover -> mouse_over
      • select_by_index -> select_option_by_index
      • select_by_text -> select_option_by_text
      • select_by_value -> select_option_by_value
      • verify_alert_is_present -> verify_alert_present
      • verify_alert_is_not_present -> verify_alert_not_present
      • verify_cookie_exists -> verify_cookie_present
      • verify_is_enabled -> verify_element_enabled
      • verify_is_not_enabled -> verify_element_not_enabled
      • verify_is_selected -> verify_element_checked
      • verify_is_not_selected -> verify_element_not_checked
      • verify_is_visible -> verify_element_displayed
      • verify_is_not_visible -> verify_element_not_displayed
      • verify_exists -> verify_element_present
      • verify_not_exists -> verify_element_not_present
      • verify_text -> verify_page_contains_text
      • verify_text_in_element -> verify_element_text_contains
      • wait_for_element_not_exist -> wait_for_element_not_present
      • wait_for_element_visible -> wait_for_element_displayed
      • wait_for_element_not_visible -> wait_for_element_not_displayed
    • Changed test results: 'pass' -> 'success'; 'fail' -> 'failure', 'error', 'code error'.

    • report.json format changed. NOTE: previous reports (<0.6.0) won´t work in the UI report viewer

    • Docs were rewritten

    Removed

    • Deprecated actions: assert_contains, assert_equals, assert_false, assert_true, verify_selected_option
    Source code(tar.gz)
    Source code(zip)
Scalable user load testing tool written in Python

Locust Locust is an easy to use, scriptable and scalable performance testing tool. You define the behaviour of your users in regular Python code, inst

Locust.io 20.4k Jan 04, 2023
PacketPy is an open-source solution for stress testing network devices using different testing methods

PacketPy About PacketPy is an open-source solution for stress testing network devices using different testing methods. Currently, there are only two c

4 Sep 22, 2022
Declarative HTTP Testing for Python and anything else

Gabbi Release Notes Gabbi is a tool for running HTTP tests where requests and responses are represented in a declarative YAML-based form. The simplest

Chris Dent 139 Sep 21, 2022
A mocking library for requests

httmock A mocking library for requests for Python 2.7 and 3.4+. Installation pip install httmock Or, if you are a Gentoo user: emerge dev-python/httm

Patryk Zawadzki 452 Dec 28, 2022
This is a simple software for fetching new changes to remote repositories automatically.

Git Autofetch Git Autofetch is a simple software for fetching new changes from a repo to local repositories after a set time interval. This program is

Shreyas Ashtamkar 10 Jul 21, 2022
Tools for test driven data-wrangling and data validation.

datatest: Test driven data-wrangling and data validation Datatest helps to speed up and formalize data-wrangling and data validation tasks. It impleme

269 Dec 16, 2022
Auto-hms-action - Automation of NU Health Management System

🦾 Automation of NU Health Management System 🤖 長崎大学 健康管理システムの自動化 🏯 Usage / 使い方

k5-mot 3 Mar 04, 2022
The best, free, all in one, multichecking, pentesting utility

The best, free, all in one, multichecking, pentesting utility

Mickey 58 Jan 03, 2023
Selects tests affected by changed files. Continous test runner when used with pytest-watch.

This is a pytest plug-in which automatically selects and re-executes only tests affected by recent changes. How is this possible in dynamic language l

Tibor Arpas 614 Dec 30, 2022
Fidelipy - Semi-automated trading on fidelity.com

fidelipy fidelipy is a simple Python 3.7+ library for semi-automated trading on fidelity.com. The scope is limited to the Trade Stocks/ETFs simplified

Darik Harter 8 May 10, 2022
A Proof of concept of a modern python CLI with click, pydantic, rich and anyio

httpcli This project is a proof of concept of a modern python networking cli which can be simple and easy to maintain using some of the best packages

Kevin Tewouda 17 Nov 15, 2022
Data-Driven Tests for Python Unittest

DDT (Data-Driven Tests) allows you to multiply one test case by running it with different test data, and make it appear as multiple test cases. Instal

424 Nov 28, 2022
Silky smooth profiling for Django

Silk Silk is a live profiling and inspection tool for the Django framework. Silk intercepts and stores HTTP requests and database queries before prese

Jazzband 3.7k Jan 04, 2023
Thin-wrapper around the mock package for easier use with pytest

pytest-mock This plugin provides a mocker fixture which is a thin-wrapper around the patching API provided by the mock package: import os class UnixF

pytest-dev 1.5k Jan 05, 2023
The Good Old Days. | Testing Out A New Module-

The-Good-Old-Days. The Good Old Days. | Testing Out A New Module- Installation Asciimatics supports Python versions 2 & 3. For the precise list of tes

Syntax. 2 Jun 08, 2022
Checks for a 200 response from your subdomain list.

Check for available subdomains Written in Python, this terminal based application looks for a 200 response from the subdomain list you've provided. En

Sean 1 Nov 03, 2021
Object factory for Django

Model Bakery: Smart fixtures for better tests Model Bakery offers you a smart way to create fixtures for testing in Django. With a simple and powerful

Model Bakers 632 Jan 08, 2023
자동 건강상태 자가진단 메크로 서버전용

Auto-Self-Diagnosis-for-server 자동 자가진단 메크로 서버전용 이 프로그램은 SaidBySolo님의 auto-self-diagnosis를 참고하여 제작하였습니다. 개인 사용 목적으로 제작하였기 때문에 추후 업데이트는 진행하지 않습니다. 의존성 G

JJooni 3 Dec 04, 2021
Ab testing - basically a statistical test in which two or more variants

Ab testing - basically a statistical test in which two or more variants

Buse Yıldırım 5 Mar 13, 2022
Switch among Guest VMs organized by Resource Pool

Proxmox PCI Switcher Switch among Guest VMs organized by Resource Pool. main features: ONE GPU card, N OS (at once) Guest VM command client Handler po

Rosiney Gomes Pereira 111 Dec 27, 2022