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)
WEB PENETRATION TESTING TOOL 💥

N-WEB ADVANCE WEB PENETRATION TESTING TOOL Features 🎭 Admin Panel Finder Admin Scanner Dork Generator Advance Dork Finder Extract Links No Redirect H

56 Dec 23, 2022
Multi-asset backtesting framework. An intuitive API lets analysts try out their strategies right away

Multi-asset backtesting framework. An intuitive API lets analysts try out their strategies right away. Fast execution of profit-take/loss-cut orders is built-in. Seamless with Pandas.

Epymetheus 39 Jan 06, 2023
Useful additions to Django's default TestCase

django-test-plus Useful additions to Django's default TestCase from REVSYS Rationale Let's face it, writing tests isn't always fun. Part of the reason

REVSYS 546 Dec 22, 2022
Enabling easy statistical significance testing for deep neural networks.

deep-significance: Easy and Better Significance Testing for Deep Neural Networks Contents ⁉️ Why 📥 Installation 🔖 Examples Intermezzo: Almost Stocha

Dennis Ulmer 270 Dec 20, 2022
Simple frontend TypeScript testing utility

TSFTest Simple frontend TypeScript testing utility. Installation Install webpack in your project directory: npm install --save-dev webpack webpack-cli

2 Nov 09, 2021
Mockoon is the easiest and quickest way to run mock APIs locally. No remote deployment, no account required, open source.

Mockoon Mockoon is the easiest and quickest way to run mock APIs locally. No remote deployment, no account required, open source. It has been built wi

mockoon 4.4k Dec 30, 2022
Python Projects - Few Python projects with Testing using Pytest

Python_Projects Few Python projects : Fast_API_Docker_PyTest- Just a simple auto

Tal Mogendorff 1 Jan 22, 2022
masscan + nmap 快速端口存活检测和服务识别

masnmap masscan + nmap 快速端口存活检测和服务识别。 思路很简单,将masscan在端口探测的高速和nmap服务探测的准确性结合起来,达到一种相对比较理想的效果。 先使用masscan以较高速率对ip存活端口进行探测,再以多进程的方式,使用nmap对开放的端口进行服务探测。 安

starnightcyber 75 Dec 19, 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
Mock smart contracts for writing Ethereum test suites

Mock smart contracts for writing Ethereum test suites This package contains comm

Trading Strategy 222 Jan 04, 2023
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
A web scraping using Selenium Webdriver

Savee - Images Downloader Project using Selenium Webdriver to download images from someone's profile on https:www.savee.it website. Usage The project

Caio Eduardo Lobo 1 Dec 17, 2021
🐍 Material for PyData Global 2021 Presentation: Effective Testing for Machine Learning Projects

Effective Testing for Machine Learning Projects Code for PyData Global 2021 Presentation by @edublancas. Slides available here. The project is develop

Eduardo Blancas 73 Nov 06, 2022
PyAutoEasy is a extension / wrapper around the famous PyAutoGUI, a cross-platform GUI automation tool to replace your boooring repetitive tasks.

PyAutoEasy PyAutoEasy is a extension / wrapper around the famous PyAutoGUI, a cross-platform GUI automation tool to replace your boooring repetitive t

Dingu Sagar 7 Oct 27, 2022
WomboAI Art Generator

WomboAI Art Generator Automate AI art generation using wombot.art. Also integrated into SnailBot for you to try out. Setup Install Python Go to the py

nbee 7 Dec 03, 2022
Repository for JIDA SNP Browser Web Application: Local Deployment

JIDA JIDA is a web application that retrieves SNP information for a genomic region of interest in Homo sapiens and calculates specific summary statist

3 Mar 03, 2022
Simple assertion library for unit testing in python with a fluent API

assertpy Simple assertions library for unit testing in Python with a nice fluent API. Supports both Python 2 and 3. Usage Just import the assert_that

19 Sep 10, 2022
MongoDB panel for the Flask Debug Toolbar

Flask Debug Toolbar MongoDB Panel Info: An extension panel for Rob Hudson's Django Debug Toolbar that adds MongoDB debugging information Author: Harry

Cenk Altı 4 Dec 11, 2019
PyBuster A directory busting tool for web application penetration tester, written in python

PyBuster A directory busting tool for web application penetration tester, written in python. Supports custom wordlist,recursive search. Screenshots Pr

Anukul Pandey 4 Jan 30, 2022
a plugin for py.test that changes the default look and feel of py.test (e.g. progressbar, show tests that fail instantly)

pytest-sugar pytest-sugar is a plugin for pytest that shows failures and errors instantly and shows a progress bar. Requirements You will need the fol

Teemu 963 Dec 28, 2022