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)
splinter - python test framework for web applications

splinter - python tool for testing web applications splinter is an open source tool for testing web applications using Python. It lets you automate br

Cobra Team 2.6k Dec 27, 2022
输入Google Hacking语句,自动调用Chrome浏览器爬取结果

Google-Hacking-Crawler 该脚本可输入Google Hacking语句,自动调用Chrome浏览器爬取结果 环境配置 python -m pip install -r requirements.txt 下载Chrome浏览器

Jarcis 4 Jun 21, 2022
show python coverage information directly in emacs

show python coverage information directly in emacs

wouter bolsterlee 30 Oct 26, 2022
Python version of the Playwright testing and automation library.

🎭 Playwright for Python Docs | API Playwright is a Python library to automate Chromium, Firefox and WebKit browsers with a single API. Playwright del

Microsoft 7.8k Jan 02, 2023
Python scripts for a generic performance testing infrastructure using Locust.

TODOs Reference to published paper or online version of it loadtest_plotter.py: Cleanup and reading data from files ARS_simulation.py: Cleanup, docume

Juri Tomak 3 Dec 15, 2022
A simple python script that uses selenium(chrome web driver),pyautogui,time and schedule modules to enter google meets automatically

A simple python script that uses selenium(chrome web driver),pyautogui,time and schedule modules to enter google meets automatically

3 Feb 07, 2022
The Penetration Testers Framework (PTF) is a way for modular support for up-to-date tools.

The PenTesters Framework (PTF) is a Python script designed for Debian/Ubuntu/ArchLinux based distributions to create a similar and familiar distribution for Penetration Testing

trustedsec 4.5k Dec 28, 2022
Pytest support for asyncio.

pytest-asyncio: pytest support for asyncio pytest-asyncio is an Apache2 licensed library, written in Python, for testing asyncio code with pytest. asy

pytest-dev 1.1k Jan 02, 2023
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
Aplikasi otomasi klik di situs popcat.click menggunakan Python dan Selenium

popthe-popcat Aplikasi Otomasi Klik di situs popcat.click. aplikasi ini akan secara otomatis melakukan click pada kucing viral itu, sehingga anda tida

cndrw_ 2 Oct 07, 2022
API Test Automation with Requests and Pytest

api-testing-requests-pytest Install Make sure you have Python 3 installed on your machine. Then: 1.Install pipenv sudo apt-get install pipenv 2.Go to

Sulaiman Haque 2 Nov 21, 2021
Load Testing ML Microservices for Robustness and Scalability

The demo is aimed at getting started with load testing a microservice before taking it to production. We use FastAPI microservice (to predict weather) and Locust to load test the service (locally or

Emmanuel Raj 13 Jul 05, 2022
A Python Selenium library inspired by the Testing Library

Selenium Testing Library Slenium Testing Library (STL) is a Python library for Selenium inspired by Testing-Library. Dependencies Python 3.6, 3.7, 3.8

Anže Pečar 12 Dec 26, 2022
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
The source code and slide for my talk about the subject: unittesing in python

PyTest Talk This talk give you some ideals about the purpose of unittest? how to write good unittest? how to use pytest framework? and show you the ba

nguyenlm 3 Jan 18, 2022
An Instagram bot that can mass text users, receive and read a text, and store it somewhere with user details.

Instagram Bot 🤖 July 14, 2021 Overview 👍 A multifunctionality automated instagram bot that can mass text users, receive and read a message and store

Abhilash Datta 14 Dec 06, 2022
Command line driven CI frontend and development task automation tool.

tox automation project Command line driven CI frontend and development task automation tool At its core tox provides a convenient way to run arbitrary

tox development team 3.1k Jan 04, 2023
Youtube Tool using selenium Python

YT-AutoLikeComment-AutoReportComment-AutoComment Youtube Tool using selenium Python Auto Comment Auto Like Comment Auto Report Comment Usage: 1. Insta

Rahul Joshua Damanik 1 Dec 13, 2021
This repository contnains sample problems with test cases using Cormen-Lib

Cormen Lib Sample Problems Description This repository contnains sample problems with test cases using Cormen-Lib. These problems were made for the pu

Cormen Lib 3 Jun 30, 2022
A Django plugin for pytest.

Welcome to pytest-django! pytest-django allows you to test your Django project/applications with the pytest testing tool. Quick start / tutorial Chang

pytest-dev 1.1k Dec 31, 2022