Percy visual testing for Python Selenium

Overview

percy-selenium-python

Test

Percy visual testing for Python Selenium.

Installation

npm install @percy/cli:

$ npm install --save-dev @percy/cli

pip install Percy selenium package:

$ pip install percy-selenium

Usage

This is an example test using the percy_snapshot function.

from percy import percy_snapshot

browser = webdriver.Firefox()
browser.get('http://example.com')
​
# take a snapshot
percy_snapshot(browser, 'Python example')

Running the test above normally will result in the following log:

[percy] Percy is not running, disabling snapshots

When running with percy exec, and your project's PERCY_TOKEN, a new Percy build will be created and snapshots will be uploaded to your project.

$ export PERCY_TOKEN=[your-project-token]
$ percy exec -- [python test command]
[percy] Percy has started!
[percy] Created build #1: https://percy.io/[your-project]
[percy] Snapshot taken "Python example"
[percy] Stopping percy...
[percy] Finalized build #1: https://percy.io/[your-project]
[percy] Done!

Configuration

percy_snapshot(driver, name[, **kwargs])

Migrating Config

If you have a previous Percy configuration file, migrate it to the newest version with the config:migrate command:

$ percy config:migrate
Comments
  • ⬆️ Update httpretty requirement from ==1.0.* to ==1.1.*

    ⬆️ Update httpretty requirement from ==1.0.* to ==1.1.*

    Updates the requirements on httpretty to permit the latest version.

    Commits

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    ⬆️⬇️ dependencies ❄️ on ice 🍞 stale 
    opened by dependabot[bot] 9
  • ImportError: cannot import name 'percySnapshot' from 'percy'

    ImportError: cannot import name 'percySnapshot' from 'percy'

    Hey,

    after following the steps to setup, I get the following error when trying to run the test: ImportError: cannot import name 'percySnapshot' from 'percy' (/Users/***/PycharmProjects/test3/lib/python3.7/site-packages/percy/init.py)

    Tried to run it with command: npx percy exec -- python mytest.py

    Any idea how to solve it? Thanks for your help.

    🍞 stale 
    opened by ES-moonfare 8
  • percySnapshot fails silently

    percySnapshot fails silently

    Right now there's not really a way to know that a call to percySnapshot succeeds in the test run.

    I think that a default behaviour of failing when the connection fails would make things easier to debug in general

    🍞 stale 
    opened by rtpg 4
  • ⬆️ Update selenium requirement from ==3.* to ==4.*

    ⬆️ Update selenium requirement from ==3.* to ==4.*

    Updates the requirements on selenium to permit the latest version.

    Release notes

    Sourced from selenium's releases.

    Selenium 4.0.0

    Changelog

    For each component's detailed changelog, please check:

    Commits in this release

    • 3a21814679 - [js] bump JS to 4.0.0 :: AutomatedTester
    • 3782f97e75 - [js] Fixes cdp for Chrome and Firefox (#9909) :: Sri Harsha
    • 614a408873 - [py] Bump python to 4.0.0 :: AutomatedTester
    • b97b4069c0 - [dotnet] Fix typo committed by mistake :: Jim Evans
    • ee723da7be - Bump to latest edge release :: Simon Mavi Stewart
    • 77e99f6810 - Add a toJson method to Browser so it becomes easier to use in Capabilities :: Simon Mavi Stewart
    • fcab887059 - [build] Add cdp 95 to python and JS :: AutomatedTester
    • 87e3833c04 - [python] Remove Edge legacy options. (#9908) :: Brandon Walderman
    • 81cf02791a - [dotnet] Update CHANGELOG with last changes :: Jim Evans
    • e41fc34446 - [dotnet] Fix CDP error getting body of redirect responses :: Jim Evans
    • 21163d6085 - Update Java changelog for 4.0.0 :: Simon Mavi Stewart
    • b00c95823c - Use vendor-specific method names for additional Chromium options. (#9906) :: Brandon Walderman
    • fce8ce05cd - [rb] update changelog and bump version for 4.0.0 :: titusfortner
    • 9c13607c98 - [dotnet] Update version resources and CHANGELOG for 4.0.0 release :: Jim Evans
    • eb4c4fc1ba - [dotnet] Add constructor for creating a Cookie instance with all optional arguments (#9361) :: Puja Jagani
    • e6cd2a8df1 - [dotnet] Add infratructure for previously unsupported interaction types :: Jim Evans
    • 5632da3fed - [dotnet] Making SlowLoadableComponent more exentsible :: Jim Evans
    • 54aba4c7dd - [dotnet] SlowLoadableComponent ignores UnableToLoadMessage :: elgatov
    • d3b35ef25f - [dotnet] Remove Edge Legacy options. :: Brandon Walderman
    • 9b1d5f22f8 - [dotnet] Add CDP support for Chromium 95 :: Jim Evans
    • 7f29755e37 - [dotnet] Add ability to monitor DOM mutations :: Jim Evans
    • 11934cfe12 - Closes #9689 jcip for Apache 2 License into selenium source :: Amil Uslu
    • c0963266d5 - Expected condition for checking attribute value (#9881) :: Joe Schulte
    • b8de36fdc3 - [py] implement relative locator for find_element (#9902) :: Titus
    • 18e1d42956 - [grid] Improving Relay service description for docs :: Diego Molina
    • ed5dff7254 - [java] Deprecating USE_CHROMIUM so we can remove it after 4.0 :: Diego Molina
    • dc555bbabc - [js] Updating rules_nodejs to 4.4.0 :: Sri Harsha
    • 776cd675f1 - Update JRuby to 9.3 to support Ruby 2.6 syntax :: Alex Rodionov
    • 48fc40dcdd - Ensure Pry is loaded when running rb:console target :: Alex Rodionov
    • d456395629 - Revert "Remove JRuby-specifiy SocketPoller#listening?" :: Alex Rodionov
    • c9a2ef6a88 - Improve DevTools request interception test by loading different JS :: Alex Rodionov
    • 94c8c111d6 - [dotnet] Restoring protected ElementFactory property :: Jim Evans
    • e1e690cf57 - Add Chrome 95 in selenium-devtools gem :: Alex Rodionov
    • cb873db98e - Amend default node config to allow users to override event bus flags :: Simon Mavi Stewart

    ... (truncated)

    Commits
    • 3a21814 [js] bump JS to 4.0.0
    • 3782f97 [js] Fixes cdp for Chrome and Firefox (#9909)
    • 614a408 [py] Bump python to 4.0.0
    • b97b406 [dotnet] Fix typo committed by mistake
    • ee723da Bump to latest edge release
    • 77e99f6 Add a toJson method to Browser so it becomes easier to use in Capabilities
    • fcab887 [build] Add cdp 95 to python and JS
    • 87e3833 [python] Remove Edge legacy options. (#9908)
    • 81cf027 [dotnet] Update CHANGELOG with last changes
    • e41fc34 [dotnet] Fix CDP error getting body of redirect responses
    • Additional commits viewable in compare view

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    ⬆️⬇️ dependencies 🍞 stale 
    opened by dependabot[bot] 3
  • functools.cache is only available on python 3.9

    functools.cache is only available on python 3.9

    meta-data in setup.py says compatible with python 3.6, 3.7, 3.8, 3.9

    however, you added a dependency on functools.cache here: https://github.com/percy/percy-selenium-python/commit/2934f121cc63ae039052405a0a2b7c15cec9412d

    this makes import break in anything before python 3.9

    recommend either:

    1- update meta-data to accurately say compatible only with 3.9+

    2- use functools.lru_cache (this is probably better anyway because .cache is unbounded)

    also, you might want to consider adding tox to your CI https://tox.readthedocs.io/en/latest/ so build are validated against multiple versions of python

    opened by kurtbrose 3
  • percySnapshot(browser=...) changed to percySnapshot(driver=...)

    percySnapshot(browser=...) changed to percySnapshot(driver=...)

    just a heads up -- not a big deal but we stubbed our toe

    percySnapshot I guess is being kept for backwards compatibility

    you might want to also have a signature transformation

    def percySnapshot(browser, *a, **kw):
         return percy_snapshot(driver=browser, *a, **kw)
    

    or not... we just went straight to percy_snapshot(driver=...) but might save someone else from hitting this if they are passing browser as a kwarg

    opened by kurtbrose 2
  • Broken support for Selenium Chrome Webdriver

    Broken support for Selenium Chrome Webdriver

    In the envInfo function it assumes that a browserVersion key is available on the webdriver.capabilities dict. When using the Chrome webdriver browserVersion is not available.

    While the code does use dict.get to, I assume, avoid a KeyError exception. It does not properly handle the case in which dict.get does not find the requested key and returns the default None. What ends up happening when using Chrome is you get a vague error from the code trying to concatenate None to a string. Would have been better to just use the standard dict get item method (dict[key]) and get the key error.

    It would be nice if you could fix this specific issue, but to help find/avoid other issues it would be good if you could test against the chrome webdriver in addition to firefox.

    opened by steven-cutting 2
  • build(deps): bump lodash from 4.17.15 to 4.17.19

    build(deps): bump lodash from 4.17.15 to 4.17.19

    Bumps lodash from 4.17.15 to 4.17.19.

    Release notes

    Sourced from lodash's releases.

    4.17.16

    Commits
    Maintainer changes

    This version was pushed to npm by mathias, a new releaser for lodash since your current version.


    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
    • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
    • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
    • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language

    You can disable automated security fix PRs for this repo from the Security Alerts page.

    ⬆️⬇️ dependencies 
    opened by dependabot[bot] 1
  • ⬆️👷 Bump actions/stale from 5 to 6

    ⬆️👷 Bump actions/stale from 5 to 6

    Bumps actions/stale from 5 to 6.

    Release notes

    Sourced from actions/stale's releases.

    v6.0.0

    :warning: Breaking change :warning:

    Issues/PRs default close-issue-reason is now not_planned(#789)

    V5.2.0

    Features: New option include-only-assigned enables users to process only issues/PRs that are already assigned. If there is no assignees and this option is set, issue will not be processed per: issue/596

    Fixes: Fix date comparison edge case PR/816

    Dependency Updates: PR/812

    Fix issue when days-before-close is more than days-before-stale

    fixes a bug introduced in #717

    fixed in #775

    v5.1.0

    [5.1.0]

    Don't process stale issues right after they're marked stale Add close-issue-reason option #764#772 Various dependabot/dependency updates

    Changelog

    Sourced from actions/stale's changelog.

    Changelog

    [6.0.0]

    :warning: Breaking change :warning:

    Issues/PRs default close-issue-reason is now not_planned(#789)

    [5.1.0]

    Don't process stale issues right after they're marked stale [Add close-issue-reason option]#764#772 Various dependabot/dependency updates

    4.1.0 (2021-07-14)

    Features

    4.0.0 (2021-07-14)

    Features

    Bug Fixes

    • dry-run: forbid mutations in dry-run (#500) (f1017f3), closes #499
    • logs: coloured logs (#465) (5fbbfba)
    • operations: fail fast the current batch to respect the operations limit (#474) (5f6f311), closes #466
    • label comparison: make label comparison case insensitive #517, closes #516
    • filtering comments by actor could have strange behavior: "stale" comments are now detected based on if the message is the stale message not who made the comment(#519), fixes #441, #509, #518

    Breaking Changes

    • The options skip-stale-issue-message and skip-stale-pr-message were removed. Instead, setting the options stale-issue-message and stale-pr-message will be enough to let the stale workflow add a comment. If the options are unset, a comment will not be added which was the equivalent of setting skip-stale-issue-message to true.
    • The operations-per-run option will be more effective. After migrating, you could face a failed-fast process workflow if you let the default value (30) or set it to a small number. In that case, you will see a warning at the end of the logs (if enabled) indicating that the workflow was stopped sooner to avoid consuming too much API calls. In most cases, you can just increase this limit to make sure to process everything in a single run.
    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    ⬆️⬇️ dependencies 
    opened by dependabot[bot] 0
  • ⬆️👷 Bump actions/setup-python from 3 to 4

    ⬆️👷 Bump actions/setup-python from 3 to 4

    Bumps actions/setup-python from 3 to 4.

    Release notes

    Sourced from actions/setup-python's releases.

    v4.0.0

    What's Changed

    • Support for python-version-file input: #336

    Example of usage:

    - uses: actions/setup-python@v4
      with:
        python-version-file: '.python-version' # Read python version from a file
    - run: python my_script.py
    

    There is no default python version for this setup-python major version, the action requires to specify either python-version input or python-version-file input. If the python-version input is not specified the action will try to read required version from file from python-version-file input.

    • Use pypyX.Y for PyPy python-version input: #349

    Example of usage:

    - uses: actions/setup-python@v4
      with:
        python-version: 'pypy3.9' # pypy-X.Y kept for backward compatibility
    - run: python my_script.py
    
    • RUNNER_TOOL_CACHE environment variable is equal AGENT_TOOLSDIRECTORY: #338

    • Bugfix: create missing pypyX.Y symlinks: #347

    • PKG_CONFIG_PATH environment variable: #400

    • Added python-path output: #405 python-path output contains Python executable path.

    • Updated zeit/ncc to vercel/ncc package: #393

    • Bugfix: fixed output for prerelease version of poetry: #409

    • Made pythonLocation environment variable consistent for Python and PyPy: #418

    • Bugfix for 3.x-dev syntax: #417

    • Other improvements: #318 #396 #384 #387 #388

    Update actions/cache version to 2.0.2

    In scope of this release we updated actions/cache package as the new version contains fixes related to GHES 3.5 (actions/setup-python#382)

    Add "cache-hit" output and fix "python-version" output for PyPy

    This release introduces new output cache-hit (actions/setup-python#373) and fix python-version output for PyPy (actions/setup-python#365)

    The cache-hit output contains boolean value indicating that an exact match was found for the key. It shows that the action uses already existing cache or not. The output is available only if cache is enabled.

    ... (truncated)

    Commits
    • d09bd5e fix: 3.x-dev can install a 3.y version (#417)
    • f72db17 Made env.var pythonLocation consistent for Python and PyPy (#418)
    • 53e1529 add support for python-version-file (#336)
    • 3f82819 Fix output for prerelease version of poetry (#409)
    • 397252c Update zeit/ncc to vercel/ncc (#393)
    • de977ad Merge pull request #412 from vsafonkin/v-vsafonkin/fix-poetry-cache-test
    • 22c6af9 Change PyPy version to rebuild cache
    • 081a3cf Merge pull request #405 from mayeut/interpreter-path
    • ff70656 feature: add a python-path output
    • fff15a2 Use pypyX.Y for PyPy python-version input (#349)
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    ⬆️⬇️ dependencies 
    opened by dependabot[bot] 0
  • ⬆️👷 Bump actions/stale from 4 to 5

    ⬆️👷 Bump actions/stale from 4 to 5

    Bumps actions/stale from 4 to 5.

    Release notes

    Sourced from actions/stale's releases.

    v5.0.0

    Features

    v4.1.0

    Features

    Changelog

    Sourced from actions/stale's changelog.

    Changelog

    Commits
    • 3cc1237 Merge pull request #670 from actions/thboop/node16upgrade
    • 76e9fbc update node version
    • 6467b96 Update default runtime to node16
    • 8af6051 build(deps-dev): bump jest-circus from 27.2.0 to 27.4.6 (#665)
    • 7a7efca Fix per issue operation count (#662)
    • 04a1828 build(deps-dev): bump ts-jest from 27.0.5 to 27.1.2 (#641)
    • 65ca395 build(deps-dev): bump eslint-plugin-jest from 24.4.2 to 25.3.2 (#639)
    • eee276c build(deps-dev): bump prettier from 2.4.1 to 2.5.1 (#628)
    • 6c2f9f3 Merge pull request #640 from dmitry-shibanov/v-dmshib/fix-check-dist
    • 37323f1 fix check-dist.yml
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    ⬆️⬇️ dependencies 
    opened by dependabot[bot] 0
  • ⬆️👷 Bump actions/stale from 6 to 7

    ⬆️👷 Bump actions/stale from 6 to 7

    Bumps actions/stale from 6 to 7.

    Release notes

    Sourced from actions/stale's releases.

    v7.0.0

    ⚠️ This version contains breaking changes ⚠️

    What's Changed

    Breaking Changes

    • In this release we prevent this action from managing the stale label on items included in exempt-issue-labels and exempt-pr-labels
    • We decided that this is outside of the scope of this action, and to be left up to the maintainer

    New Contributors

    Full Changelog: https://github.com/actions/stale/compare/v6...v7.0.0

    v6.0.1

    Update @​actions/core to 1.10.0 #839

    Full Changelog: https://github.com/actions/stale/compare/v6.0.0...v6.0.1

    Changelog

    Sourced from actions/stale's changelog.

    Changelog

    [7.0.0]

    :warning: Breaking change :warning:

    [6.0.1]

    Update @​actions/core to v1.10.0 (#839)

    [6.0.0]

    :warning: Breaking change :warning:

    Issues/PRs default close-issue-reason is now not_planned(#789)

    [5.1.0]

    Don't process stale issues right after they're marked stale [Add close-issue-reason option]#764#772 Various dependabot/dependency updates

    4.1.0 (2021-07-14)

    Features

    4.0.0 (2021-07-14)

    Features

    Bug Fixes

    • dry-run: forbid mutations in dry-run (#500) (f1017f3), closes #499
    • logs: coloured logs (#465) (5fbbfba)
    • operations: fail fast the current batch to respect the operations limit (#474) (5f6f311), closes #466
    • label comparison: make label comparison case insensitive #517, closes #516
    • filtering comments by actor could have strange behavior: "stale" comments are now detected based on if the message is the stale message not who made the comment(#519), fixes #441, #509, #518

    Breaking Changes

    ... (truncated)

    Commits
    • 6f05e42 draft release for v7.0.0 (#888)
    • eed91cb Update how stale handles exempt items (#874)
    • 10dc265 Merge pull request #880 from akv-platform/update-stale-repo
    • 9c1eb3f Update .md files and allign build-test.yml with the current test.yml
    • bc357bd Update .github/workflows/release-new-action-version.yml
    • 690ede5 Update .github/ISSUE_TEMPLATE/bug_report.md
    • afbcabf Merge branch 'main' into update-stale-repo
    • e364411 Update name of codeql.yml file
    • 627cef3 fix print outputs step (#859)
    • 975308f Merge pull request #876 from jongwooo/chore/use-cache-in-check-dist
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    ⬆️⬇️ dependencies 
    opened by dependabot[bot] 0
Releases(v1.0.5)
  • v1.0.5(Mar 29, 2022)

    🐛 Bug Fixes

    • 🐛 Loosen selenium dependency requirement (#27) @Robdel12

    🏗 Maintenance

    • 👷⬆️⬇️ Add Dependabot (#21) @Robdel12
    • 🧹 Fix stale issue label (#20) @Robdel12
    • 📝 Update snapshot options docs in README (#19) @Robdel12
    • 🧹 Add stale issues/PRs action, update releaser config for new labels (#18) @Robdel12

    ⬆️⬇️ Dependency Updates

    • ⬆️👷 Bump actions/cache from 2 to 3 (#26) @dependabot
    • ⬆️👷 Bump actions/checkout from 2 to 3 (#25) @dependabot
    • ⬆️👷 Bump actions/setup-python from 2 to 3 (#24) @dependabot
    Source code(tar.gz)
    Source code(zip)
  • v1.0.4(Feb 25, 2021)

  • v1.0.3(Feb 12, 2021)

  • v1.0.2(Feb 9, 2021)

    ✨ Enhancements

    • ✨ Document & use snake_case snapshot options (#12) @wwilsman

    🐛 Bug Fixes

    • 🐛 Use functools.lru_cache (#14) @wwilsman
    Source code(tar.gz)
    Source code(zip)
  • v1.0.1(Feb 3, 2021)

  • v1.0.0(Feb 3, 2021)

Owner
Percy
Your all-in-one visual review platform.
Percy
PENBUD is penetration testing buddy which helps you in penetration testing by making various important tools interactive.

penbud - Penetration Tester Buddy PENBUD is penetration testing buddy which helps you in penetration testing by making various important tools interac

Himanshu Shukla 15 Feb 1, 2022
pytest plugin for distributed testing and loop-on-failures testing modes.

xdist: pytest distributed testing plugin The pytest-xdist plugin extends pytest with some unique test execution modes: test run parallelization: if yo

pytest-dev 1.1k Dec 30, 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

null 4 Sep 22, 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
Selenium-python but lighter: Helium is the best Python library for web automation.

Selenium-python but lighter: Helium Selenium-python is great for web automation. Helium makes it easier to use. For example: Under the hood, Helium fo

Michael Herrmann 3.2k Dec 31, 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 1, 2022
Python package to easily work with selenium and manage tabs effectively.

Simple Selenium The aim of this package is to quickly get started with working with selenium for simple browser automation tasks. Installation Install

Vishal Kumar Mishra 1 Oct 27, 2021
This project is used to send a screenshot by email of your MyUMons schedule using Selenium python lib (headless mode)

MyUMonsSchedule Use MyUMonsSchedule python script to send a screenshot by email (Gmail) of your MyUMons schedule. If you use it on Windows, take care

Pierre-Louis D'Agostino 6 May 12, 2022
Fully functioning price detector built with selenium and python

Fully functioning price detector built with selenium and python

mark sikaundi 4 Mar 30, 2022
Akulaku Create NewProduct Automation using Selenium Python

Akulaku-Create-NewProduct-Automation Akulaku Create NewProduct Automation using Selenium Python Usage: 1. Install Python 3.9 2. Open CMD on Bot Folde

Rahul Joshua Damanik 1 Nov 22, 2021
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
Selenium Page Object Model with Python

Page-object-model (POM) is a pattern that you can apply it to develop efficient automation framework.

Mohammad Ifran Uddin 1 Nov 29, 2021
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 7, 2022
Python Webscraping using Selenium

Web Scraping with Python and Selenium The code shows how to do web scraping using Python and Selenium. We use as data the https://sbot.org.br/localize

Luís Miguel Massih Pereira 1 Dec 1, 2021
This file will contain a series of Python functions that use the Selenium library to search for elements in a web page while logging everything into a file

element_search with Selenium (Now With docstrings ?? ) Just to mention, I'm a beginner to all this, so it it's very possible to make some mistakes The

null 2 Aug 12, 2021
Compiles python selenium script to be a Window's executable

Problem Statement Setting up a Python project can be frustrating for non-developers. From downloading the right version of python, setting up virtual

Jerry Ng 8 Jan 9, 2023
Automated tests for OKAY websites in Python (Selenium) - user friendly version

Okay Selenium Testy Aplikace určená k testování produkčních webů společnosti OKAY s.r.o. Závislosti K běhu aplikace je potřeba mít v počítači nainstal

Viktor Bem 0 Oct 1, 2022
Whatsapp messages bulk sender using Python Selenium.

Whatsapp Sender Whatsapp Sender automates sending of messages via Whatsapp Web. The tool allows you to send whatsapp messages in bulk. This program re

Yap Yee Qiang 3 Jan 23, 2022
reCaptchaBypasser For Bypass Any reCaptcha For Selenium Python

reCaptchaBypasser ' Usage : from selenium import webdriver from reCaptchaBypasser import reCaptchaScraper import time driver = webdriver.chrome(execu

Dr.Linux 8 Dec 17, 2022