Checkly
Checkly
  • 104
  • 396 672
How to Run Playwright Test in "Parallel," "Serial," or "Default" Mode
Join Stefan Judis, Playwright Ambassador, as he looks into different Playwright test order execution modes. Learn how to effectively use the "fullyParallel" option and understand the differences between "parallel", "serial" and "default" test case execution.
If you have questions or feedback, drop a comment below! And don't forget to subscribe for more Playwright tips!
Use Playwright for monitoring: www.checklyhq.com/product/synthetic-monitoring/
00:00 Intro
00:12 Playwright's "fullyParallel" option
01:10 Understand Playwright's default execution mode
01:50 How to run tests sequentially with "serial" mode
03:57 Use "default" mode to run all tests sequentially
05:04 Run describe blocks in parallel with sequential tests
07:39 Outro
#playwright #checkly #syntheticmonitoring
Переглядів: 1 866

Відео

How good is GitHub Copilot at generating Playwright code?
Переглядів 4,1 тис.Місяць тому
Join Stefan Judis as he explores GitHub Copilot for Playwright scripting and end-to-end test generation! Will Copilot and its new custom instructions beat Playwright Codegen in terms of code quality and generation time? Let's find out! Checkly Synthetic Monitoring: www.checklyhq.com/product/synthetic-monitoring/ GitHub Copilot: github.com/features/copilot Let's find out in this video! 0:00 Intr...
The new "toMatchAriaSnapshot" assertion and Aria in Playwright
Переглядів 2,3 тис.2 місяці тому
Dive into the latest Playwright 1.49 release with Stefan Judis, Playwright ambassador, as he discusses "toMatchAriaSnapshot", a new assertion for end-to-end page validations. In this video, Stefan discusses using recommended Playwright locators, the importance of ARIA and accessibility in end-to-end testing and demonstrates the new "toMatchAriaSnapshot" assertion. Aria snapshot guide: playwrigh...
Write Playwright Tests in Seconds with ChatGPT!?
Переглядів 6 тис.2 місяці тому
Can AI generate good Playwright code? Join Stefan as he explores AI-driven Playwright scripting, using tools like the language models ChatGPT and Claude. Watch as he demonstrates the capabilities of Playwright's 'codegen' command and pits it against AI-generated test scripts. Despite initial skepticism, the results from AI were surprising! 0:00 Intro 0:28 Generate Playwright code with the 'code...
Add global beforeEach / afterEach hooks using Playwright automatic fixtures
Переглядів 4,7 тис.2 місяці тому
Join Stefan Judis, Checkly's Playwright ambassador, as he shows you how to make your end-to-end testing life easier using Playwright's automatic fixtures. Learn how to implement global "beforeEach" and "afterEach" test hooks to add runtime annotation and JavaScript exception monitoring without repeating yourself across spec files. Playwright fixture docs: playwright.dev/docs/test-fixtures#autom...
Checkly Changelog: New Features and Updates - Traces, Visual Regression Checks, and Degraded States
Переглядів 2733 місяці тому
Join María and Nočnica as we go over three major new features from Checkly: Checkly Traces - integrate OpenTelemetry data from your stack with synthetic monitoring traces Visual Regression Checks - Check for pixel-by-pixel changes to your website Degraded Checks - want to note a problem but don't want it to trigger alerts like a failing check? Try soft assertions and the 'degraded' state 0:00 I...
How to control time zones and timeouts in Playwright
Переглядів 2 тис.3 місяці тому
Join Stefan Judis (Playwright Ambassador) as we explore advanced testing strategies for time zones and timers using Playwright. You'll learn about seamless time zone testing techniques and how to use Playwright's Clock API to manage timers effectively. What we'll cover: Time Zone Testing: Learn how to test across multiple time zones with Playwright to ensure your applications perform consistent...
Five Playwright CLI features you should know
Переглядів 3,6 тис.4 місяці тому
Learn how to optimize your Playwright end-to-end testing with additional `playwright test` command line options to run only failed tests, make Playwright Git-aware, or avoid running `test.only` in CI/CD. Got questions or tips? Leave a comment below! We love publishing follow-up videos. Playwright CLI options docs: playwright.dev/docs/test-cli#reference Checkly Synthetic Monitoring: www.checklyh...
How to parameterize and configure your custom Playwright fixtures
Переглядів 6 тис.4 місяці тому
Join Stefan Judis in this Playwright tutorial, where he explains how to make your custom Playwright fixtures configurable using "option fixtures". Stefan briefly explains the fixture concept but then focuses on creating an option fixture configurable on a global, project, and spec file basis. Example source code: github.com/checkly/playwright-examples/tree/main/parameterized-fixtures Playwright...
How to detect broken links with Playwright Test
Переглядів 3,7 тис.5 місяців тому
Join Stefan Judis in this Playwright tutorial, where he explores detecting broken links using Playwright and/or Checkly. Stefan covers essential techniques such as soft assertions, crafting custom error messages for clearer debugging, and using page context-aware requests to check for URL status codes. Whether you're dealing with empty links, nonexistent domains, or 404 errors, this video provi...
Apply Playwright test steps with TypeScript decorators
Переглядів 6 тис.5 місяців тому
Join Stefan Judis as he explores the concept of decorators in Playwright TypeScript code. Learn how decorators can streamline your coding process, improve test readability, and save you time. In this tutorial, Stefan will demonstrate how to implement decorators within Playwright page object models, starting from scratch. He provides practical examples and insights into decorators, a feature not...
How to Speed up your Playwright Tests with shared "storageState"
Переглядів 8 тис.5 місяців тому
Join Stefan Judis, Playwright Ambassador, as he shows you how to speed up your Playwright test suite execution time for apps behind a login. Usually, login-walled products require you to log in for every test case. However, by implementing project dependencies, setting up a project, and pairing everything with the storage state, you can log into your app once and then reuse the browser and stor...
Find root causes in real time - Checkly Traces
Переглядів 5976 місяців тому
At Checkly we’re always trying to help our users find and resolve issues 10x faster, and the OpenTelemetry project wants to enable more observability with open standards. I’m excited to share Checkly Traces, our new tracing solution built on OpenTelemetry, and how it can help you find the root cause of problems in real time. #Checkly #endtoendTesting #opentelemetry 0:00 Checkly Traces with the ...
Add Type Checking and Linting to your Playwright Project
Переглядів 3,8 тис.6 місяців тому
Add Type Checking and Linting to your Playwright Project
Checkly Kick-Start: Writing your first site monitor
Переглядів 3696 місяців тому
Checkly Kick-Start: Writing your first site monitor
Why "page.goto()" is slowing down your tests
Переглядів 7 тис.6 місяців тому
Why "page.goto()" is slowing down your tests
Playwright at Scale
Переглядів 2,6 тис.7 місяців тому
Playwright at Scale
How to ignore elements in a Playwright screenshot test
Переглядів 1,7 тис.7 місяців тому
How to ignore elements in a Playwright screenshot test
Get alerted when your Playwright checks degrade in performance
Переглядів 6258 місяців тому
Get alerted when your Playwright checks degrade in performance
How to monitor your infrastructure with Checkly browser checks
Переглядів 3798 місяців тому
How to monitor your infrastructure with Checkly browser checks
How to monitor your APIs with Checkly API checks
Переглядів 5949 місяців тому
How to monitor your APIs with Checkly API checks
Using Visual Regression checks to Make Sure You Never Miss a Problem on Production
Переглядів 5089 місяців тому
Using Visual Regression checks to Make Sure You Never Miss a Problem on Production
How to narrow and chain your Playwright locators
Переглядів 3,7 тис.9 місяців тому
How to narrow and chain your Playwright locators
How to test and monitor your APIs with Playwright
Переглядів 10 тис.9 місяців тому
How to test and monitor your APIs with Playwright
Monitor Complex User Flows with Checkly’s Multistep Checks
Переглядів 4599 місяців тому
Monitor Complex User Flows with Checkly’s Multistep Checks
How to combine POMs (Page Object Models) with Playwright Fixtures for better developer experience
Переглядів 21 тис.10 місяців тому
How to combine POMs (Page Object Models) with Playwright Fixtures for better developer experience
Avoid flaky end-to-end tests due to poorly hydrated Frontends with Playwright's toPass()
Переглядів 9 тис.10 місяців тому
Avoid flaky end-to-end tests due to poorly hydrated Frontends with Playwright's toPass()
Add accessibility checks to your Playwright end-to-end tests
Переглядів 4,1 тис.10 місяців тому
Add accessibility checks to your Playwright end-to-end tests
New in Playwright end-to-end testing: detect & close unpredictable overlays with "addLocatorHandler"
Переглядів 3,4 тис.10 місяців тому
New in Playwright end-to-end testing: detect & close unpredictable overlays with "addLocatorHandler"
Beyond APM: What Datadog Won't Tell You with Leon Adato of Kentik
Переглядів 24311 місяців тому
Beyond APM: What Datadog Won't Tell You with Leon Adato of Kentik

КОМЕНТАРІ

  • @cameron3184-b7n
    @cameron3184-b7n День тому

    Hey man just saying, qwen 2.5 max is the best coder out of all the chatbots currently, and what would take hours takes it literally 2 steps. (That is excluding 200$ o3 mini high)

    • @ChecklyHQ
      @ChecklyHQ 21 годину тому

      Good to know, I might give it a try one day. That said I'm not convinced that feeding LLMs application code is the best approach to create e2e test code. A video covering this topic will drop eventually. 🦝

  • @binitpatel
    @binitpatel День тому

    What would be the best way to set up the same but for multiple login users and different files uses different user data?

    • @ChecklyHQ
      @ChecklyHQ 21 годину тому

      You could still have a single "setup" project in which you write and create different storage state files. You can do this similar to how it's shown in the video for a single user. Then you could define different projects ("User A project" and "User B project"), both relying on "setup" being a dependency but reading in the particular storage state file. "User A project" could rely on the storage state "user-a-state.json" or whatever. Then you could control what files will belong to which project (and as a result to which user) by specifying `testMatch` on the project level (playwright.dev/docs/api/class-testproject#test-project-test-match) Here's an untested example. ``` projects: [ { name: "setup", use: { ...devices["Desktop Chrome"] }, testMatch: /.*\.setup\.ts/, }, { name: user-a", use: { storageState: ".auth/user-a.json", }, testMatch: "*/user-a/*.spec.ts", dependencies: ["setup"], }, { name: user-b", use: { storageState: ".auth/user-b.json", }, testMatch: "*/user-b/*.spec.ts", dependencies: ["setup"], }, ], ``` Does this make sense?

    • @binitpatel
      @binitpatel 20 годин тому

      @@ChecklyHQ Thank you so much. I will try this out. My set up is little more complex. I need to run all the tests in Desktop And in Mobile. If I follow the above suggestion, I will have to set up multiple user A desktop and user A mobile?

    • @ChecklyHQ
      @ChecklyHQ 20 годин тому

      @ No, you should be able to have User A and User B but than would have 4 projects: - User A desktop - User A mobile - User B desktop - User B mobile But, of course, there are multiple ways to do things, but that's how I would start without seeing code. 😅

  • @chilldiban
    @chilldiban 3 дні тому

    Hi Checkly, Thank you very much for your videos about Playwright! They are excellent tutorials. Could you create a playlist on an end-to-end real-world project using Playwright? I've learned a lot of concepts and practiced with Playwright, but I’m not sure how it’s used in real-world scenarios.

    • @ChecklyHQ
      @ChecklyHQ 2 дні тому

      Heyooo. 👋 Yes, it's been on the list already but I can't promise when/if we come to it bc it's quite a heavy investment. What real-world project do you have in mind?

  • @moonpanda1776
    @moonpanda1776 4 дні тому

    Omg, this is a game changer, i moved from selenium to pw, and didn't understand at all how to implement fixtures correctly

    • @ChecklyHQ
      @ChecklyHQ 3 дні тому

      Happy to hear the video's been valuable. 💙

  • @cherrycharitha-q1r
    @cherrycharitha-q1r 7 днів тому

    Can you please share the way to do custom fixtures with playwright cucumber. js application

    • @ChecklyHQ
      @ChecklyHQ 3 дні тому

      Heyooo. 👋 I'll put it on the list, but, unfortunately, it's unlikely we'll cover cucumber. :/

  • @sayeddanish
    @sayeddanish 7 днів тому

    Awesome video.. I really like the font that you are using.. may I know the which IDE and font you are using?

    • @ChecklyHQ
      @ChecklyHQ 2 дні тому

      It was FiraCode iScript and you can read about my editor setup here: www.stefanjudis.com/blog/how-to-enable-beautiful-cursive-fonts-in-your-vs-code-theme/

  • @darkfoxwillie
    @darkfoxwillie 7 днів тому

    Amazing thank you very much.

    • @ChecklyHQ
      @ChecklyHQ 7 днів тому

      Thanks for watching! 🦝

  • @DurFoinni
    @DurFoinni 7 днів тому

    Thank you (-

  • @mr_possible6197
    @mr_possible6197 12 днів тому

    Thanks for this. Please correct me if I am wrong: I am thinking to have a BasePage super class and have this whole step thing in there. I'll then have my page objects extend this BasePage to keep things ever more structured. How does this sound ?

    • @ChecklyHQ
      @ChecklyHQ 21 годину тому

      To be honest, I haven't tried class inheritance with the shown `@step` decorator trick, but theoretically, this sounds reasonable (if POMs are your thing). Did it work at the end? 😅

  • @Mike606S
    @Mike606S 12 днів тому

    can i somehow add page.onerror to some before test hook in the framework and expect(errors) to after test so I wouldn't need to repeat it in each spec?

    • @ChecklyHQ
      @ChecklyHQ 12 днів тому

      You bet! 💪 Here's a video describing the concept and abstracting it away with fixtures. Showing this would have just been too long for a YT Short. 🫣 ua-cam.com/video/LKMwS_u_x8Y/v-deo.html

    • @Mike606S
      @Mike606S 12 днів тому

      @@ChecklyHQ cool! thank you!

  • @wmln2
    @wmln2 13 днів тому

    Beautiful mate! What do you think about the approach of using a PO Manager?

    • @ChecklyHQ
      @ChecklyHQ 13 днів тому

      Hmm... I'll have to do some reading about this. What's a PO Manager? 😅

  • @saravanakumarsenthurpandi1376
    @saravanakumarsenthurpandi1376 14 днів тому

    Hello! I’m really happy with this feature, but I wanted to add a description or some explanation about each screenshot. How can I do that? Do you have any ideas? Also, I’m using a loop, and it will take around 30 screenshots. For each screenshot, I’ll be adding a dynamic sentence. Is it possible to add that as well?

    • @ChecklyHQ
      @ChecklyHQ 13 днів тому

      I just checked the docs (playwright.dev/docs/api/class-testinfo#test-info-attach) ad there's no `description` option right now. The only thing I could think of is reusing the name with a short description.

    • @saravanakumarsenthurpandi1376
      @saravanakumarsenthurpandi1376 9 днів тому

      ​@@ChecklyHQ I got it in a different way than I needed. However, my more important request is to ignore all the logs and only display the necessary ones. How can I achieve that? For example, when I'm creating a candidate, I will have around 10 lines of code, such as filling the username, DOB, mobile number, and so on. Then, at the end, I click the save button and check whether the candidate is created or not. In this case, I only need to show logs for: Before filling in the candidate details(with screenshot (that i will take care) After filling in the candidate details(with screenshot (that i will take care) The final log showing whether the candidate was created or not (including a screenshot) I want to display only these logs, and hide or ignore the others. How can I achieve this?" FYI already achieved by showing screenshot but not able to ignore the not needed logs that alone how to achieve?

    • @ChecklyHQ
      @ChecklyHQ 21 годину тому

      I'm sorry, but you lost me with this explanation of what you're trying to do and/or log. 😅 But I think we already answered the initial question, did we?

  • @MuratKeremOzcan
    @MuratKeremOzcan 16 днів тому

    This is needed in every repo

  • @shailendrakumaromkar
    @shailendrakumaromkar 16 днів тому

    Can you please create a video about automating Chrome extension using Playwright e.g. Metamask : Most popular chrome extension for Cryptocurrency wallet How we can automate this using Playwright ? Thank You in advance

    • @ChecklyHQ
      @ChecklyHQ 16 днів тому

      Hey there, I'll put it on the list, but I don't think it'll happen soon, because this isn't a space Checkly will be investing in. And this is the Checkly channel after all. :)

    • @shailendrakumaromkar
      @shailendrakumaromkar 16 днів тому

      @@ChecklyHQ : Sure....Thanks for the response. In the meanwhile can you share some reference to try this out.

    • @ChecklyHQ
      @ChecklyHQ 13 днів тому

      Unfortunately, I don't have experience with testing Chrome extensions or crypto. So I can also onl google things. :/

  • @JackZhang-o1m
    @JackZhang-o1m 17 днів тому

    Thank you the video. However, it seems that there is no perfect solution if we only use automation script. Imagine if the network is super slow, all the retries in the toPass assertion failed and the exceeded the timeout. Maybe the root solution is enhancing the frontend code.

    • @ChecklyHQ
      @ChecklyHQ 17 днів тому

      I 100% agree. If an application has a poor user experience under slow network conditions, this is a problem and should be fixed. In the real world, though, and especially when testing and development are different teams, improving the Frontend is rarely prioritized. It's the typical "works on my machine" and often, people state the "Playwright is too fast" argument, completely ignoring that the issue often is poor hydration patterns or a broken app under slow network conditions. `toPass` and other ways to come around test flakiness are workarounds for symptoms and not addressing the root course. But sometimes it is how it is. :) So you're 100% right.

  • @MrRawbot
    @MrRawbot 17 днів тому

    Nice video as always, thanks ! Is there a way to limit this in the same way for different projects ? For example : I have 3 tests (A, B & C) that I want to be executed on 3 different browsers with the same dataset/account, could I run test A on the first browser, and execute it on the second only when the former concluded, and so on ?

    • @ChecklyHQ
      @ChecklyHQ 13 днів тому

      Thanks! I'm not sure I understand your question entirely. What tests should run in which browser when? 😅

    • @MrRawbot
      @MrRawbot 10 днів тому

      ​@@ChecklyHQ Let me rephrase it : I would like to avoid some tests to run on multiple browsers (= 1 project for each) at the same time. So even if workers are available, it would wait for the same test on the previous browser to finish

    • @ChecklyHQ
      @ChecklyHQ 21 годину тому

      It's very hard to discuss this topic without looking at specifics. But as an easy way, you could always run tests using the `--project` flag or some grep pattern. Then you'd be in full control of what projects / tests run when. :)

  • @alexanderkomanov4151
    @alexanderkomanov4151 17 днів тому

    great advice!

  • @MKRKN
    @MKRKN 17 днів тому

    Exactly what i was looking for. Thanks a ton

    • @ChecklyHQ
      @ChecklyHQ 17 днів тому

      Happy to hear the video was valuable. 💙

  • @mytzenka6574
    @mytzenka6574 18 днів тому

    This is very interesting and something I may want to put into practice. Still this seems to be something to test (as far as possible without doing actual mutations) on a production enviroment. In my case, for example, our test environment is not always very up to date and often includes many broken links which we kind of accept. Another thing is that in your example you are only testing the links on a single page. But shouldn't you then also navigate to each of the found links and than test the links on each of those pages and so forth until you have tested all links of the entire site, excluding any duplicates?

    • @ChecklyHQ
      @ChecklyHQ 13 днів тому

      That's right - great comment! Having something like this set up as production monitoring is definitely valuable but it comes very tricky very quickly because checking all links can take quite some time depending on the amount of pages. And surely it'd be great to keep track and collect all checked links. But I'm sure there are tools on GitHub that allow you do run things in a cron job. I might extend the example at some point but the video was already long enough. 😅

  • @MuratKeremOzcan
    @MuratKeremOzcan 19 днів тому

    Did you have a note about git ignoring the storage state?

    • @ChecklyHQ
      @ChecklyHQ 18 днів тому

      Great call. I forgot about it because it seemed obvious to me that session data invalidates over time. I adjusted the pinned comment. Thanks.

  • @MuratKeremOzcan
    @MuratKeremOzcan 20 днів тому

    only-changed and repeat can be used for test burn-in anywhere easily, very cool. I had a question about Checkly, perhaps we could consider it at a point where we build the test architecture and are ready to consider prod testing. At the previous job, prod authentication was a big no, so we did not test on prod. Instead we used vite to build and bundle the app with prod config at PR level, and test localhost:3000 like that. We also capitalized on feature flags and their an approach by myself to shift their testing to PRs. We were doing 1000 releases a year with 2-3 prod issues at most. So things worked. In that kind of a situation, what can Checkly bring to the table, and how do you get around prod auth restrictions?

    • @ChecklyHQ
      @ChecklyHQ 18 днів тому

      Checkly is all about enabling developers to test and monitor their preview and prod environments with Playwright. We allow you to run your existing Playwright tests from anywhere and on a schedule. The default and "works out of the box" features require an accessible URL, though. (There might ways to work around this with our private locations feature but I haven't seen someone spinning up a dev-server on localhost with them yet) So for what you describe, unless you spin up a public tunnel to your described dev server, Checkly checks can't test or access your "private app" The Playwright tests run in arbitrary AWS locations at the end of the day. 😅 That said, we do believe in production testing and monitoring because it's the only way to reliably know that production is really up'n'running. Spinning up your app locally with prod config is good test for the new code or feature regressions, but there could still be plenty of things going wrong in prod. With Checkly you can take your existing tests run them on preview deploys and/or prod, but then once you release, run the same (or a subset) of your PWT tests in an interval to really be sure that everything's working at all times. If something's off, you'll receive a proper alert to be able to react quickly. I hope this answer makes sense and happy to explain more. :)

  • @lavanyab26
    @lavanyab26 21 день тому

    I'm running Playwright tests on Desktop, Mobile, and Tablet. While all the test cases pass locally, I notice a higher number of skipped test cases in CI/CD, particularly on Mobile and Tablet, even after adjusting the retries and maxFailures settings in the config file. Desktop works better compared to the other two. What might be causing this inconsistency, and how can I address it?

    • @ChecklyHQ
      @ChecklyHQ 18 днів тому

      I can't tell what's causing your issues but to find out you should turn on traces (playwright.dev/docs/trace-viewer-intro#recording-a-trace) and inspect what's happening in your CI/CD environment. :) For me, it's a different configuration or network condition most of the time. Good luck!

  • @MuratKeremOzcan
    @MuratKeremOzcan 21 день тому

    It's not only an accessibility check, but also a visibility check. So, if we are not performing any interactions but only checking for visibility, is it then a better practice to use matchAriaSnapshot? Maybe.

    • @ChecklyHQ
      @ChecklyHQ 18 днів тому

      Yes, we'll all have to see if and how usefull it'll be. I'm game for a11y driven features, though. :)

  • @dragonkitti_702
    @dragonkitti_702 22 дні тому

    The first comment is for you. works, you are the champion. THX.👍

  • @fawadahmad7520
    @fawadahmad7520 25 днів тому

    There is always something new to learn in your videos. Thank you for all this. I have a problem though which I faced on almost all the projects I worked on and that is handling login based scenarios in parallel tests. I have resolved this issue by binding the login users with worked index but for this I had to make couple of users for each worker first. What would be your recommendation to handle this?

    • @ChecklyHQ
      @ChecklyHQ 25 днів тому

      I'm actually doing the same in one of my projects for parallel CI/CD runs using existing data. The worker id connects to a certain predefined user account (1 to 4 in my case). Unfortunately, I didn't come across a better solution yet, tbh. But I think it's alright. 🫣

    • @fawadahmad7520
      @fawadahmad7520 25 днів тому

      @@ChecklyHQ Thanks.

  • @TauvicRitter
    @TauvicRitter 26 днів тому

    Very usefull. When i use test.step i get some problem with variable scope. The code inside the step does not works as expected. I moved the code to a decorated POM function and the problems where gone. Still wonder why step has this problem.

    • @ChecklyHQ
      @ChecklyHQ 25 днів тому

      Hard to tell, but happy you figured it out. :)

  • @og4789
    @og4789 27 днів тому

    Again great content as always! Funny thing, last days I worked on this topic unintentionally. Maybe you can help me out with my current problem. I have sequential tests and I want to add an afterAll, but unfortunately the afterAll does not support Page fixture. I use page fixture like you described in your previous videos using Fixtures for POM. Do you have an idea?

    • @ChecklyHQ
      @ChecklyHQ 27 днів тому

      Thank you. May I ask what's your case for `page` in an after all hook? (Oc, I might look into it for another video 🫣)

    • @og4789
      @og4789 26 днів тому

      Deletion/cleanup from UI.

  • @radhakrishnanakireddy8820
    @radhakrishnanakireddy8820 27 днів тому

    I think this will be helpful why because our application has more of sync processes with other systems, but tests are independent and grouped into groups, So default mode would help in this situations. Thanks for this video!

    • @ChecklyHQ
      @ChecklyHQ 27 днів тому

      Happy to hear it's been valuable. 🦝 💙

  • @douglasfugazi
    @douglasfugazi 27 днів тому

    Great video! Running Playwright tests in serial mode is ideal for debugging, not for CI/CD phases.

    • @ChecklyHQ
      @ChecklyHQ 27 днів тому

      Thanks. :) Not sure I agree though. There are better tools than serial mode for debugging (UI mode, debug mode and traces) and there are scenarios when tests require to run sequentially in CI/CD. If the tests (for whatever reason) rely on each other or conflict with each other with shared state, then CI/CD might need to run in "serial" or "default" mode.

    • @douglasfugazi
      @douglasfugazi 27 днів тому

      @ChecklyHQ thanks for the clarification. 👍

    • @ChecklyHQ
      @ChecklyHQ 27 днів тому

      Happy to. :)

  • @shadowkun-
    @shadowkun- 27 днів тому

    Can you please do tutorial about Slack integration for Playwright reporting of my test results?😢 been stucked for months now

    • @ChecklyHQ
      @ChecklyHQ 27 днів тому

      Could you describe a bit more, what you're stuck at?

    • @shadowkun-
      @shadowkun- 27 днів тому

      @ i cant find a simple tutorial how can i share to a slack channel my test results each test run… all I know atm is i would need to use slack api and slack bot but idk where to start :/

    • @ChecklyHQ
      @ChecklyHQ 27 днів тому

      Gotcha. I'll put it on the list. :)

    • @shadowkun-
      @shadowkun- 27 днів тому

      @ thank you so much😭 looking forward to it!

    • @HelloWorld-xg6nw
      @HelloWorld-xg6nw 27 днів тому

      I think it depends on your CI tool. I am using Github actions plugin, for other tools would be a bit different but similar

  • @yurademchenko9924
    @yurademchenko9924 28 днів тому

    Like for the video! I'm really wondering people write: "Hey. It's interesting approach. But what if I have 100500 cases with 100500 pages?" Guys, the silver bullet for all of you current own projects doesn't exist. Unfortunatly))

    • @ChecklyHQ
      @ChecklyHQ 28 днів тому

      Precisely - this is where POMs fall short big time. For any somewhat serious product, the number of different page objects gets out of hand very quickly. :) And you're 100% right, there's no silver bullet, and there will never be one. 🦝

  • @ChecklyHQ
    @ChecklyHQ 28 днів тому

    Since Playwright 1.42 there's a better way than `try/catch` to handle unpredictable and non-deterministic flows - `addLocatorHandler`. 👇 If you want to learn more about it, check this video: ua-cam.com/video/E8JLQoCDUcU/v-deo.html

  • @levatskeyJR
    @levatskeyJR 29 днів тому

    Nice one! This helped me to resolve the issue) Cheers

    • @ChecklyHQ
      @ChecklyHQ 28 днів тому

      Happy to hear that the video has been valuable! 🦝

  • @igormerezhko3685
    @igormerezhko3685 29 днів тому

    Is it possible to use for API testing?

    • @ChecklyHQ
      @ChecklyHQ 28 днів тому

      Short answer: yes. 🦝 👉 playwright.dev/docs/api-testing#reusing-authentication-state

  • @shadowkun-
    @shadowkun- Місяць тому

    Bro what the fuk, you just answered the wall that’s keeping me from progressing LMAO i was about to come and crash on the dev teams because they won’t fix slow sites😩

    • @ChecklyHQ
      @ChecklyHQ 28 днів тому

      Happy to hear the video was able to help you out. 😉🦝

  • @TauvicRitter
    @TauvicRitter Місяць тому

    Could also add code to handle this popup dialog. There are mechanics for that.

    • @ChecklyHQ
      @ChecklyHQ 28 днів тому

      Thank you! Great comment and you're correct. We have another video about it -> ua-cam.com/video/E8JLQoCDUcU/v-deo.html Let me add a pinned comment and highlight the newer and better way for all the viewers.

  • @Runeblade484
    @Runeblade484 Місяць тому

    You say you usually don't like page object models. Do you have a video on what you like to use? Or can you at least give me the name so I can look into it?

    • @ChecklyHQ
      @ChecklyHQ 28 днів тому

      Usually I prefer to group functionality based on user actions instead of pages. I also don't like to initialize new page objects all the time. 😅 As an alternative, I quite often have `user.login`, `user.logout`, ... object methods which I bring in via Playwright fixtures. This objects aren't necessarily bound to specific pages but rather a set of functionality. Of course, this approach is no silver bullet but I like it better than POMs. :) I'll put this topic onto the list of ideas for future videos. Thanks!

  • @vamsikattamudi6560
    @vamsikattamudi6560 Місяць тому

    How to execute before all run once for all tests in spec file even one test is failed? I have used page, browser and context across the spec. If any test fails, before all is executing for next test but i want to use existing page only. Please do video on this

    • @ChecklyHQ
      @ChecklyHQ 28 днів тому

      I'm sorry but I'm afraid I don't understand. To execute code before all tests you could rely on PWT projects or global setup/teardown: playwright.dev/docs/test-global-setup-teardown Could you explain a bit more what you would like to see a video on?

  • @deekshasharma9442
    @deekshasharma9442 Місяць тому

    Initialization steps are taking around 5 minutes for each test case, can you please help me to resolve this situation ?

    • @ChecklyHQ
      @ChecklyHQ 28 днів тому

      Unfortunately, we can't help with individual issues. But 5min init time indeed sounds very wrong. In these cases, trace files and UI-mode are a big help to indentify what's taking so long. Good luck!

  • @Mike606S
    @Mike606S Місяць тому

    can you name it not webApp but just page? Or it should be different from what playwright already has?

    • @ChecklyHQ
      @ChecklyHQ Місяць тому

      Yes, you can also overwrite the default `page` fixture by using the same name. :)

  • @meg6pat
    @meg6pat Місяць тому

    “AI is not trustworthy”, I think this one is very important then to use copilot, gpt etc. Great video as always. Thank you very much.

  • @kailashpathak9184
    @kailashpathak9184 Місяць тому

    Helpful Stefan !

  • @MoahmedAmaan
    @MoahmedAmaan Місяць тому

    How is secured to use this, like vulnerable attack for our api’s.

    • @ChecklyHQ
      @ChecklyHQ Місяць тому

      I'm not sure I understand. Could you rephrase the question and give more explanation of the security context?

  • @Kevin-vf5wv
    @Kevin-vf5wv Місяць тому

    Awesome

  • @vitaliypotapov8994
    @vitaliypotapov8994 Місяць тому

    Thanks for the video! Could you share you prompt in text?

    • @ChecklyHQ
      @ChecklyHQ Місяць тому

      Great request! 💯 You can find a similar prompt in this blog post: www.checklyhq.com/blog/chatgpt-vs-playwright-codegen/.

  • @IonWP
    @IonWP Місяць тому

    name of this terminal theme please?

    • @ChecklyHQ
      @ChecklyHQ Місяць тому

      It's my own custom theme and you can find instructions here: www.stefanjudis.com/blog/declutter-emojify-and-prettify-your-iterm2-terminal/#my-custom-theme

  • @manuQAE
    @manuQAE Місяць тому

    Super helpful! Thanks for sharing!

    • @ChecklyHQ
      @ChecklyHQ Місяць тому

      Thanks for still being around! 💙

  • @M1stFink
    @M1stFink Місяць тому

    awesome for synthertics, but also lures you into writing other tests after the implementation, rather than before

    • @ChecklyHQ
      @ChecklyHQ Місяць тому

      I'm curious. Do you really go TDD for end-to-end tests? Seems unlikely to me.

    • @M1stFink
      @M1stFink Місяць тому

      ​@@ChecklyHQ we don't say TDD anymore, it's test first now, to overcome rejections ;) For playwright i would say BDD rather than TDD if really have to. Does not need to be end-to-end (e.g. api snapshots come to mind) Since I prefer gherkin over POM (or better POM used by gherking) i start with the feature every time, yes! From there it depends, sometimes whole failing test, sometimes i go as far as i can/ know and then just set to skip as todo indication. This forces me to actually think before I write prod code (an acient technique not many developers know anymore) But you are right, i would now love to correct myself " lures you into thinking about tests after the implementation, rather than before"

    • @ChecklyHQ
      @ChecklyHQ Місяць тому

      @@M1stFink Who's "we" when you say, "we don't say TDD anymore"? Happy for you that you also start with tests when going for end-to-end testing. :) I like the approach for anything quick, but, as said, for UI tests, it doesn't feel great to me. :)

    • @M1stFink
      @M1stFink Місяць тому

      @ChecklyHQ what exavtly do you mean with end-to-end? I think we are talking about different things/scales here

    • @ChecklyHQ
      @ChecklyHQ 28 днів тому

      End-to-end for web apps is anything that spins up a browser uses an application that's running an entire stack for me. So it's testing frontend, backend, and infra end-to-end. :)

  • @nikolaydraganov4053
    @nikolaydraganov4053 Місяць тому

    Try cursor 😁

  • @douglasfugazi
    @douglasfugazi Місяць тому

    Super helpful video. Thanks for sharing 🎉

    • @ChecklyHQ
      @ChecklyHQ Місяць тому

      Thank you for watching! 💙