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)
Argument matchers for unittest.mock

callee Argument matchers for unittest.mock More robust tests Python's mocking library (or its backport for Python 3.3) is simple, reliable, and easy

Karol Kuczmarski 77 Nov 03, 2022
CNE-OVS-SIT - OVS System Integration Test Suite

CNE-OVS-SIT - OVS System Integration Test Suite Introduction User guide Discussion Introduction CNE-OVS-SIT is a test suite for OVS end-to-end functio

4 Jan 09, 2022
A testing system for catching visual regressions in Web applications.

Huxley Watches you browse, takes screenshots, tells you when they change Huxley is a test-like system for catching visual regressions in Web applicati

Facebook Archive 4.1k Nov 30, 2022
Minimal example of getting Django + PyTest running on GitHub Actions

Minimal Django + Pytest + GitHub Actions example This minimal example shows you how you can runs pytest on your Django app on every commit using GitHu

Matt Segal 5 Sep 19, 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
Aioresponses is a helper for mock/fake web requests in python aiohttp package.

aioresponses Aioresponses is a helper to mock/fake web requests in python aiohttp package. For requests module there are a lot of packages that help u

402 Jan 06, 2023
No longer maintained, please migrate to model_bakery

Model Mommy: Smart fixtures for better tests IMPORTANT: Model Mommy is no longer maintained and was replaced by Model Bakery. Please, consider migrati

Bernardo Fontes 917 Oct 04, 2022
d4rk Ghost is all in one hacking framework For red team Pentesting

d4rk ghost is all in one Hacking framework For red team Pentesting it contains all modules , information_gathering exploitation + vulnerability scanning + ddos attacks with 12 methods + proxy scraper

d4rk sh4d0w 15 Dec 15, 2022
UUM Merit Form Filler is a web automation which helps automate entering a matric number to the UUM system in order for participants to obtain a merit

About UUM Merit Form Filler UUM Merit Form Filler is a web automation which helps automate entering a matric number to the UUM system in order for par

Ilham Rachmat 3 May 31, 2022
Data App Performance Tests

Data App Performance Tests My hypothesis is that The different architectures of

Marc Skov Madsen 6 Dec 14, 2022
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 web automation and testing. 🚀 Fast, easy, reliable. 💠

Build fast, reliable, end-to-end tests. SeleniumBase is a Python framework for web automation, end-to-end testing, and more. Tests are run with "pytes

SeleniumBase 3k Jan 04, 2023
A twitter bot that simply replies with a beautiful screenshot of the tweet, powered by poet.so

Poet this! Replies with a beautiful screenshot of the tweet, powered by poet.so Installation git clone https://github.com/dhravya/poet-this.git cd po

Dhravya Shah 30 Dec 04, 2022
FaceBot is a script to automatically create a facebook account using the selenium and chromedriver modules.

FaceBot is a script to automatically create a facebook account using the selenium and chromedriver modules. That way, we don't need to input full name, email and password and date of birth. All will

Fadjrir Herlambang 2 Jun 17, 2022
User-interest mock backend server implemnted using flask restful, and SQLAlchemy ORM confiugred with sqlite

Flask_Restful_SQLAlchemy_server User-interest mock backend server implemnted using flask restful, and SQLAlchemy ORM confiugred with sqlite. Backend b

Austin Weigel 1 Nov 17, 2022
Minimal example of how to use pytest with automated 'devops' style automated test runs

Pytest python example with automated testing This is a minimal viable example of pytest with an automated run of tests for every push/merge into the m

Karma Computing 2 Jan 02, 2022
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
API Rest testing FastAPI + SQLAchmey + Docker

Transactions API Rest Implement and design a simple REST API Description We need to a simple API that allow us to register users' transactions and hav

TxeMac 2 Jun 30, 2022
This is a Python script for Github Bot which uses Selenium to Automate things.

github-follow-unfollow-bot This is a Python script for Github Bot which uses Selenium to Automate things. Pre-requisites :- Python A Github Account Re

Chaudhary Hamdan 10 Jul 01, 2022