Visual Testing, Playwright Testing, Testing Frameworks, oh my!

แชร์
ฝัง
  • เผยแพร่เมื่อ 24 ก.ค. 2024
  • In this episode, Nikolay Advolodkin chats with Andy Knight, a leader in the field of test engineering. We’ve gotten together to talk about all things software development and web testing, and we’re excited to hear Andy Knight share his insights on:
    • Playwright testing framework
    • Page Object Model (POM)
    • What is the screenplay pattern?
    • Boa Constrictor tests
    Join us as we talk all about Andy Knight’s experience with Playwright, and get his insights on some sample automated tests in the framework. He provides valuable input on the screenplay pattern and behavior-driven development, discussing the benefits and drawbacks of each approach.
    0:00 - Intro
    1:39 - What is Playwright? What has your experience been with it?
    6:39 - Benefits & challenges in visual testing
    15:18 - Insights on sample automated Playwright tests
    28:10 - Separation of concerns & behavior-driven development
    34:10 - Challenges of the page object model: State check vs using the locators
    45:45 - What is the screenplay pattern?
    55:10 - Boa Constrictor sample code & test case
    1:09:10 - What do you need to code to write a Boa Constrictor test for the first time?
    1:11:17 - Best automation tips
    ===============================
    👩‍💻🔎About Andy Knight:
    Andy Knight is a software engineer, specializing in building test automation systems from the ground up, which involves both software development for test code as well as the infrastructure to run it in continuous integration. He is a staunch advocate for software quality who loves to help others. Knight speaks internationally at conferences, webinars, and workshops, and writes and runs the software blog AutomationPanda.com. He is the lead developer of Boa Constrictor, the .NET Screenplay Pattern, and has created four courses for Test Automation University. Knight has built test automation solutions from the ground up, and does consulting to help teams with testing, automation, and BDD. His main programming languages are Python, Java, C#, and JavaScript, and holds a Computer Science BS/MS from RIT.
    ===============================
    CONNECT WITH ANDY KNIGHT
    🌎 WEBSITE: automationpanda.com/
    🐦 TWITTER: / automationpanda
    💡 LINKEDIN: / andrew-leland-knight
    CONNECT WITH Nikolay Advolodkin
    🌎 WEBSITE: ultimateqa.com
    🐦 TWITTER: intent/user?scree...
    💡 LINKEDIN (consider leaving a Recommendation): / nikolayadvolodkin
    ▶ TH-cam: www.youtube.com/@UltimateQA?s...
    📸 NIKOLAY’S INSTA: / nikolay.advolodkin
    📧EMAIL: nikolay@saucelabs.com
    JOIN THE CONVERSATION! 🎥 Subscribe to our TH-cam channel now and get access to latest exclusive shows, before anyone else! www.youtube.com/@test-automat...
    ▶ Sauce TH-cam channel: / saucelabs
    ‍🤝‍ Community page: saucelabs.com/community
    💡 LinkedIn: / sauce-labs
    🏠 Home Page: saucelabs.com/
    🐦 TWITTER: / saucelabs
    💡 LINKEDIN: / sauce-labs
    🌎 SAUCE WEBSITE: saucelabs.com
    =============================
    👇👇 RESOURCES to Help You with Automation👇👇
    📚 Books
    ✅ The Complete Software Tester: Concepts, Skills, and Strategies for High-Quality Testing - amzn.to/3H5eR71
    ✅ Clean Code by Robert Martin: amzn.to/3Eg3E2B
    ✅ Clean Architecture: A Craftsman's Guide to Software Structure and Design by Robert Martin - amzn.to/3KgVoU4
    ✅ Hands-on Mobile App testing - amzn.to/3WKB14k
    ✅ Explore it! by Elisabeth Hendrickson - amzn.to/3lycK4j
    ✅ Accelerate: Building and Scaling High Performing Technology Organizations - amzn.to/3HuPpsJ
    ✅ Hands-On Selenium WebDriver with Java: A Deep Dive into the Development of End-to-End Tests: amzn.to/421y5TB
    ✅ Mastering Software Testing with JUnit 5: Comprehensive guide to develop high quality Java applications: amzn.to/3oNEDXE
    🔎 Blogs
    ✅ Page Factory Deprecated: ultimateqa.com/selenium-3-11-...
    ✅ Page Factory by Titus Fortner: titusfortner.com/2021/02/03/p...
    ✅ Websites to practice test automation: snip.ly/rnapio
    ✅ Books to learn test automation: snip.ly/d9c4np
    📊 Code
    ✅ Contact list app - thinking-tester-contact-list....
    ✅ Dummy Automation Site: bonigarcia.dev/selenium-webdr...
    ✅ Selenium WebDriver Repo: github.com/bonigarcia/seleniu...
  • วิทยาศาสตร์และเทคโนโลยี

ความคิดเห็น • 7

  • @vivekbhardwaj8295
    @vivekbhardwaj8295 หลายเดือนก่อน +1

    Suggestion for tackling dynamic content when doing visual testing: Use browser clock and freeze the browser state

  • @aarondebrabant8783
    @aarondebrabant8783 7 หลายเดือนก่อน +1

    Loved the screenplay solution, anytime I'm developing a solution I always abstract away the library/driver I'm using for various reasons.

  • @bunyaminmete5468
    @bunyaminmete5468 ปีที่แล้ว +2

    hey, how did you handle 2FA?

    • @test-automation-experience
      @test-automation-experience  ปีที่แล้ว

      If 2FA was possible to automate then it wouldn't serve it's purpose. It was a manual step. We put it in place until we could find a programmatic solution.

  • @TOGACLAN
    @TOGACLAN ปีที่แล้ว +1

    Interesting conversation on where assertions should be and I'm glad to see I am not the only automation engineer conflicted over it. Currently, if an assertion is commonly used, I put it inside a pageObject.verifySomethingInPlainEnglish() method and assert it there. If it is something for a specific edge case, I will assert it in the test by using an exposed locator.
    I like what Pandy said about having page object method to get the state of an element and then assert that in the test as well. That could work for me.
    Regardless, good discussion :)

    • @test-automation-experience
      @test-automation-experience  ปีที่แล้ว

      The latter is the better approach in my opinion. Keeps separation of concerns more clear