Giter Site home page Giter Site logo

pytest-playwright-enhanced's Introduction

Hi There! ๐Ÿ‘‹


I am currently focusing on:

  • selenium - Working on the python bindings.
  • asserto - Python assertions made quick & easy.
  • pytest-containers - A pytest plugin for starting docker compose services around tests.
  • kafkapy - A python CLI and set of utilities for inspection and managing kafka clusters.
  • pytest-playwright-enhanced - A batteries included framework of playwright for pytest.
  • tasq - A scalable worker pool for distributed tasks in golang.

My Learning Roadmap for 2024:

  • javascript. Repository
  • go. Repository
  • sql. Repository
  • Achieve AWS cloud practitioner certification.
  • continue advancing knowledge of docker.
  • continue advancing knowledge of python.
  • continue advancing knowledge of golang.

Penetration testing is a core hobby of mine and I enjoy finding vulnerabilities particularly in web applications and APIs.

pytest-playwright-enhanced's People

Contributors

dependabot[bot] avatar symonk avatar

Stargazers

 avatar  avatar  avatar

Watchers

 avatar  avatar

pytest-playwright-enhanced's Issues

tox sets a $homedir and fails with binary acquisition

reliably running tests that actually launch contexts/pages is... cumbersome right now, pytest itself will set a $HOME in its temp directory, manual IDE execution is easy, tox is slightly trickier - figure out a solution

tracing `title` & `name`

when dumping the trace, a name & title are supported, derive them from the node.name possibly?

Allowed deferring of `context` & `browser` kwargs

it is not always 'known' what the user might need, it may be required to calculate it dynamically, allow some sort of defer/callback that is invoked by the plugin machinery that can be provided as a keyword arg to:

@pytest.mark.context_kwargs(callback=lambda: {"foo": 1})
@pytest.mark.browser_kwargs(callback=lambda: {"bar": 2})

video on fail fails with xdist

reproducable:

def test_something(pw_page, pw_multi_browser):
    pw_page.goto("https://www.google.co.uk")
    assert False
pytest . --headed --browser webkit --browser chromium --browser firefox -n 3 --video-on-fail yes

support `--screenshots`

Adding support for screenshots is not feature complete until:

  • Yes can provide yes
  • Defaults to no
  • User can provide full which means yes & provides full_screen=True to the context
  • All cases above have adequate unit test(s)
  • All cases above are xdist worker safe

Conditionals:

  • Can we do anything fancy with the screenshot name to map it back to a test?

Build out mkdocs site

Docs are vital for UX, build out the mkdocs + serve them on github - the machinery is already in place for this, content is missing.

ensure `--artifacts` directory is a folder

ensuring a trailing / and is actually a folder etc.
Add some error handling to places we are using this, many things can go wrong
file lengths on windows, general errors
does running containerised make this more challenging?

[High Prio] Implement a reusable binary solution for tests using `tox` and w/o

Right now we have some major problems in terms of tox/testing. Everything works fine from a normal perspective after a simple playwright install because browsers reside in ~/.cache/ms-playwright/* - however, in tox this is a pytes tmpdir, which would auto acquire binaries pretty much on every run.

Implement some sort of solution for development that allows tox to leverage / reuse existing binaries. This is also slightly tricker because pytester (probably) doesn't always pass the ENV through etc.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.