Skip to main content

Pytest plugin to facilitate screenshot taking with selenium webdriver

Reason this release was yanked:

Transfered ownership

Project description

pyshot

Pytest plugin to facilitate screenshot taking with selenium webdriver.

Installation

pip install pyshot

Usage

First you need to add the configuration file pyshot.conf file.

[pyshot]
screenshots_path = C:/Users/angel/OneDrive/Documentos/projects/pyshot/screenshots
only_pyshot_steps = false
create_folder_per_testcase = true

screenshots_path: Absolute path of the folder where the screenshots will be saved. It shouldn't have a / at the end.

only_pyshot_steps: When it is activated (true) only the functions marked with the decorator @pyshot_step will be screenshoted.

create_folder_per_testcase: When it is activated (true) a new folder will be created automatically to save the screenshots of the testcase.

Once you have created the pyshot.conf file add a fixture with the decorator @pyshot_driver that returns the driver you will to use during test execution, like this:

@pytest.fixture(scope="module", autouse=True)
@pyshot_driver
def chrome_driver():
    driver = webdriver.Chrome(ChromeDriverManager().install())
    return driver

If you want to take screenshots only on certain steps of the execution, activate the option only_pyshot_steps on the pyshot.conf and add the decorator @pyshot_step on the functions where you want to take screenshots.

@pyshot_step
def search(cls, search_text: str):
    SearchPage.enter_search_text(search_text)
    SearchPage.make_search()

Once you have configured everything within your repo add the argument --pyshot_conf with the path to your pyshot.conf file.

pytest test_example.py --pyshot_conf=usr/test/pyshot.conf

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pyshot-0.0.2.tar.gz (4.2 kB view hashes)

Uploaded Source

Built Distribution

pyshot-0.0.2-py3-none-any.whl (4.9 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page