{"id":45037,"date":"2022-12-19T08:27:39","date_gmt":"2022-12-19T16:27:39","guid":{"rendered":"https:\/\/app14743.cloudwayssites.com\/?p=45037"},"modified":"2023-01-06T12:48:12","modified_gmt":"2023-01-06T20:48:12","slug":"let-the-engineers-speak-part-1-real-world-projects","status":"publish","type":"post","link":"https:\/\/app14743.cloudwayssites.com\/blog\/let-the-engineers-speak-part-1-real-world-projects\/","title":{"rendered":"Let the Engineers Speak! Part 1: Real-World Projects"},"content":{"rendered":"\n<div class=\"wp-block-group pt-xs pb-xs\"><div class=\"wp-block-group__inner-container is-layout-constrained wp-block-group-is-layout-constrained\">\n<p>Over the past two years, Applitools has hosted a series of code battles called <em>Let the Code Speak<\/em>. We pitted the most popular web testing frameworks against each other through rounds of code challenges, and we invited the audience to vote for which did them best. Now, to cap off the series, we hosted a panel of test automation experts to share their real-world experiences working with these web test frameworks. We called it <em>Cypress, Playwright, Selenium, or WebdriverIO? Let the Engineers Speak!<\/em><\/p>\n\n\n\n<p>Here were our panelists and the frameworks they represented:<\/p>\n\n\n\n<ul>\n<li><a href=\"https:\/\/twitter.com\/bahmutov\" target=\"_blank\" rel=\"noreferrer noopener\"><strong><span style=\"text-decoration: underline;\">Gleb Bahmutov<\/span><\/strong><\/a> (Cypress) \u2013 Senior Director of Engineering at Mercari US<\/li>\n\n\n\n<li><a href=\"https:\/\/twitter.com\/_Capocaccia\" target=\"_blank\" rel=\"noreferrer noopener\"><strong><span style=\"text-decoration: underline;\">Carter Capocaccia<\/span><\/strong><\/a> (Cypress) \u2013 Senior Engineering Manager &#8211; Quality Automation at Hilton<\/li>\n\n\n\n<li><a href=\"https:\/\/twitter.com\/TallyBarak\" target=\"_blank\" rel=\"noreferrer noopener\"><strong><span style=\"text-decoration: underline;\">Tally Barak<\/span><\/strong><\/a> (Playwright) \u2013 Software Architect at YOOBIC<\/li>\n\n\n\n<li><a href=\"https:\/\/www.linkedin.com\/in\/steve-hernandez-2b919072\/\" target=\"_blank\" rel=\"noreferrer noopener\"><strong><span style=\"text-decoration: underline;\">Steve Hernandez<\/span><\/strong><\/a> (Selenium) \u2013 Software Engineer in Test at Q2<\/li>\n\n\n\n<li><a href=\"https:\/\/www.linkedin.com\/in\/jose-morales-5b911a9\/\" target=\"_blank\" rel=\"noreferrer noopener\"><strong><span style=\"text-decoration: underline;\">Jose Morales<\/span><\/strong><\/a> (WebdriverIO) \u2013 Automation Architect at Domino\u2019s<\/li>\n<\/ul>\n\n\n\n<p>I\u2019m <a href=\"https:\/\/twitter.com\/AutomationPanda\" target=\"_blank\" rel=\"noreferrer noopener\"><strong><span style=\"text-decoration: underline;\">Andrew Knight<\/span><\/strong><\/a> \u2013 the Automation Panda \u2013 and I moderated this panel.<\/p>\n\n\n\n<p>In this blog series, we will recap what these experts had to say about the biggest challenges they face, their favorite integrations, and if they have ever considered changing their test framework. In this article, we\u2019ll kick off the series by introducing each speaker with an overview of their projects in their own words.<\/p>\n<\/div><\/div>\n\n\n\n<div class=\"wp-block-group pt-xs pb-xs\"><div class=\"wp-block-group__inner-container is-layout-constrained wp-block-group-is-layout-constrained\">\n<h2 class=\"wp-block-heading\" id=\"h-gleb-s-cypress-project-at-mercari-us\">Gleb&#8217;s Cypress Project at Mercari US<\/h2>\n\n\n\n<p><strong>Gleb<\/strong>:<\/p>\n\n\n\n<p>I&#8217;m in charge of the web automation group; we test our web application. Mercari US is an online marketplace where you can list an item, buy items, ship [items], and so on. I joined about a year and a half [ago], and my goal was to make it work so it doesn\u2019t break.<\/p>\n\n\n\n<p>There were previous attempts to automate web application testing that were not very successful, and they hired me specifically because I brought Cypress experience. Before that, I worked with Cypress for years, so I&#8217;m kind of partial. So you can kind of guess which framework I chose to implement end-to-end tests.<\/p>\n\n\n\n<p>We currently run about 700 end-to-end tests every day multiple times per feature with each pull request. On average, our flake \u2013 you know, how many tests kind of pass or fail per test run \u2013 is probably half a percent, maybe below that. So we actually invested a lot of time in making sure it\u2019s all green and working correctly. So that&#8217;s my story.<\/p>\n<\/div><\/div>\n\n\n\n<div class=\"wp-block-group pt-xs pb-xs\"><div class=\"wp-block-group__inner-container is-layout-constrained wp-block-group-is-layout-constrained\">\n<h2 class=\"wp-block-heading\" id=\"h-carter-s-cypress-project-at-hilton\">Carter&#8217;s Cypress Project at Hilton<\/h2>\n\n\n\n<p><strong>Carter<\/strong>:<\/p>\n\n\n\n<p>Nice to meet you all today and thank you for the opportunity to speak with everybody. So I need to lead off with a little bit of a disclaimer here. Hilton does not necessarily endorse or use any of the products you may speak of today, and all the opinions that I&#8217;m going to talk about are my own.<\/p>\n\n\n\n<p>So Hilton is a large corporation. We operate 7,000 properties in 122 countries. So when we talk about some of the concerns that I face as a quality automation engineer, we&#8217;re talking about accessibility, localization, analytics, [and] a variety of application architectures. We might have some that are server-side rendered. We might have some that are CMS-driven pages and even multiple types of CMS. We also have, you know, things that are like that filter out bot traffic. We may use mock data, live data. We have availability engines, pricing engines. So things get pretty complex and therefore our strategy has to follow this complexity in a way that makes things simple for us to interpret results and act upon them quickly.<\/p>\n\n\n\n<p>To give you guys an idea of the scale here, we typically are much like Gleb in this regard, where every single one of our changes runs all of our tests. So we are constantly executing tests all of the time. I think this year \u2013 I was just running these reports the day to figure out for, you know, interview review stuff \u2013 I think I pulled up that we had so far in this year run about 1.2 million tests on our applications. That&#8217;s quite a large quantity. So, you know, if anything, that speaks to our architecture \u2013 [it] has some stability built into it \u2013 the fact that we were even able to execute that quantity of tests.<\/p>\n\n\n\n<p>But yeah, I&#8217;m a Cypress user. I\u2019ve been a Cypress user now for about three years. Much like Gleb, I got faced with the challenge of, \u201cWell, this only runs in Chrome. It&#8217;s a young company, young team.\u201d And yeah, I think, you know, we stuck with it, and obviously today Cypress has grown with us and we&#8217;re really, really happy to still be using the tool. We were a Webdriver shop before, so I&#8217;m really interested to see what Jose is doing. And there probably is still some Webdriver code hanging around here at Hilton. But yeah, I&#8217;m really excited to be here today, so thank you for the opportunity.<\/p>\n<\/div><\/div>\n\n\n\n<div class=\"wp-block-group pt-xs pb-xs\"><div class=\"wp-block-group__inner-container is-layout-constrained wp-block-group-is-layout-constrained\">\n<h2 class=\"wp-block-heading\" id=\"h-tally-s-playwright-project-at-yoobic\">Tally&#8217;s Playwright Project at YOOBIC<\/h2>\n\n\n\n<p><strong>Tally<\/strong>:<\/p>\n\n\n\n<p>I work at YOOBIC. YOOBIC is a digital platform for frontline employees \u2013 that\u2019s a way to say people like sellers in shops. And they use our application in their daily job \u2013 for the tasks they need to do, for their training, for their communication needs, and so on.<\/p>\n\n\n\n<p>For this application to be useful, we have a very rich UI that we are using. And for that, we have decided to use web components. We&#8217;re using extensive JS and building web components. This is important because when we tried to automate the testing, this was one of the biggest barriers that we had to cross.<\/p>\n\n\n\n<p>We used to work with WebdriverIO, which was good to some extent. But the thing that really was problematic for us was the shadow DOM support \u2013 and shadow root. So I got into the habit for once every fortnight or monthly to go into the web and just Google \u201cend-to-end testing shadow DOM support\u201d and voila! In one of these Googlings, it actually worked out and I stumbled upon Playwright \u2013 and it said, \u201cYes, we have Shadow DOM support.\u201d So I went like, \u201cOkay, I have to try that.\u201d And I just looked at the documentation. It was like shadow DOM was no biggie. It was just like built\/baked in naturally. I started testing it, and it worked like magic.<\/p>\n\n\n\n<p>That was almost two and a half years ago. Playwright had a lot less than what it has today. It was still on version 1.2 or something. At the time, it was only the browser automation side; it didn&#8217;t have the test runner. And our tests were already written in Cucumber, and Cucumber is a BDD-style kind of testing. So this is the way we actually describe our functional test. So <em>user selects mission<\/em>, and then <em>user starts<\/em>, and so on \u2013 this is the test. We already had that from WebdriverIO, and basically we just changed the automation underneath to work with Playwright instead of Selenium WebdriverIO.<\/p>\n\n\n\n<p>And this is still how we work. We are using Cucumber for running those tests. We use Playwright as the browser automation. We have our tested app and we are testing against server and the database. We have about 200 scenarios. We run them on every PR. It takes about 20 or 25 minutes with sharding, but this is because they are really long tests.<\/p>\n\n\n\n<p>It also solved a lot of other problems that we had previously, like the fact that you can open multiple browsers. Previously what we were doing, if you wanted to test multiple users, we would log in, log out, and log in with the other user. And here, all of a sudden, we could just spawn multiple windows and do that.<\/p>\n\n\n\n<p>And one [additional] thing that I want to mention besides the functional test, this end-to-end test, we also run component tests. This is different; we are using the Playwright Test Runner, in fact. This is because we work with Angular, and Playwright component testing is not supported with Angular yet. We are using Storybook, and we test with Playwright on top of Storybook. So yeah, that&#8217;s my story.<\/p>\n<\/div><\/div>\n\n\n\n<div class=\"wp-block-group pt-xs pb-xs\"><div class=\"wp-block-group__inner-container is-layout-constrained wp-block-group-is-layout-constrained\">\n<h2 class=\"wp-block-heading\" id=\"h-steve-s-selenium-project-at-q2\">Steve&#8217;s Selenium Project at Q2<\/h2>\n\n\n\n<p><strong>Steve<\/strong>:<\/p>\n\n\n\n<p>I actually started as a full stack developer at Precision Lender. We&#8217;re part of Q2, which is a big FinTech company. If you had priced any skyscrapers or went to get a loan for a skyscraper, there&#8217;s a very good chance that our software was used recently \u2013 I&#8217;m sure you&#8217;re all doing that.<\/p>\n\n\n\n<p>Working on the front end, it&#8217;s a JavaScript-based application using Knockout but increasingly Vue. I worked over in that for about two and a half years at the company, and I saw the cool stuff that Andy and our other Andy were doing. And I was excited about it. I wanted to move over [and] see what it was all about. And I believe strongly in the power of test to not only improve the quality of the application, but also just the software development lifecycle and the whole experience for everyone and the developers.<\/p>\n\n\n\n<figure class=\"wp-block-image alignfull size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"589\" src=\"https:\/\/app14743.cloudwayssites.com\/wp-content\/uploads\/2022\/12\/q2-architecture-1024x589.jpg\" alt=\"Architecture diagram depicting Q2's test automation\" class=\"wp-image-45040\" srcset=\"https:\/\/app14743.cloudwayssites.com\/wp-content\/uploads\/2022\/12\/q2-architecture-1024x589.jpg 1024w, https:\/\/app14743.cloudwayssites.com\/wp-content\/uploads\/2022\/12\/q2-architecture-300x173.jpg 300w, https:\/\/app14743.cloudwayssites.com\/wp-content\/uploads\/2022\/12\/q2-architecture-768x442.jpg 768w, https:\/\/app14743.cloudwayssites.com\/wp-content\/uploads\/2022\/12\/q2-architecture-1536x884.jpg 1536w, https:\/\/app14743.cloudwayssites.com\/wp-content\/uploads\/2022\/12\/q2-architecture.jpg 2000w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><figcaption class=\"wp-element-caption\">Q2 test automation architecture diagram from the Let the Engineers Speak webinar<\/figcaption><\/figure>\n\n\n\n<p>So what you guys have in front of you is a typical CI pipeline that we use. We use Git and we use TeamCity. And on a typical day, we run about 20,000 tests. We have about 6,000 unique tests and upon one commit to our main developed branch, we kick off about 1,500 tests and it takes about 20 to 25 minutes, depending on errors, test failures. On that check-in to Team City, we use a stack with SpecFlow and SpecFlow+ Runner kicks off our tests.<\/p>\n\n\n\n<p>As I said before, we&#8217;re using Boa Constrictor underneath with the Screenplay Pattern. It acts as our actor, which is controlling the Selenium Webdriver. And then the Selenium Webdriver farms out the test work in parallel to the Selenium Grid and our little nodes; it&#8217;s an AKS cluster run through all of our tests and spit out a whole bunch of great documentation. One of my favorites being the SpecFlow+ Runner report and other good logging things like Azure Log Analytics.<\/p>\n<\/div><\/div>\n\n\n\n<div class=\"wp-block-group pt-xs pb-xs\"><div class=\"wp-block-group__inner-container is-layout-constrained wp-block-group-is-layout-constrained\">\n<h2 class=\"wp-block-heading\" id=\"h-jose-s-webdriverio-project-at-domino-s\">Jose&#8217;s WebdriverIO Project at Domino&#8217;s<\/h2>\n\n\n\n<p><strong>Jose<\/strong>:<\/p>\n\n\n\n<p>Thank you from all [of us at] Domino\u2019s. Well, Domino\u2019s is a big company, right? We have 4 billion dollars in sales every single year. And \u2013 only in the Super Bowl \u2013 we sell 2 million pizzas just in the United States. So we have a big product and our operations are very critical. So I decided to use WebdriverIO for our product. And this is the architecture that we created in Domino\u2019s.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large is-resized\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/app14743.cloudwayssites.com\/wp-content\/uploads\/2022\/12\/dominos-architecture-1024x508.jpg\" alt=\"Architecture diagram depicting Domino's test automation pipelien\" class=\"wp-image-45041\" width=\"768\" height=\"381\" srcset=\"https:\/\/app14743.cloudwayssites.com\/wp-content\/uploads\/2022\/12\/dominos-architecture-1024x508.jpg 1024w, https:\/\/app14743.cloudwayssites.com\/wp-content\/uploads\/2022\/12\/dominos-architecture-300x149.jpg 300w, https:\/\/app14743.cloudwayssites.com\/wp-content\/uploads\/2022\/12\/dominos-architecture-768x381.jpg 768w, https:\/\/app14743.cloudwayssites.com\/wp-content\/uploads\/2022\/12\/dominos-architecture-1536x762.jpg 1536w, https:\/\/app14743.cloudwayssites.com\/wp-content\/uploads\/2022\/12\/dominos-architecture.jpg 2000w\" sizes=\"(max-width: 768px) 100vw, 768px\" \/><figcaption class=\"wp-element-caption\">Domino&#8217;s test automation architecture diagram from the Let the Engineers Speak webinar<\/figcaption><\/figure><\/div>\n\n\n<p>In Domino\u2019s, we have different environments. We have QA, we have pre-production, and we have production. And for selecting different kinds of environments, we have different kinds of configuration. And in that configuration, Jenkins reads the configuration for that particular environment, we get the code from a stash, and then we are using virtual machines \u2013 it could be inside of the Domino\u2019s network or it could be in Source Labs. Then we have a kind of report. And one thing that I really love about WebdriverIO is the fact that it&#8217;s open source, and it has huge libraries.<\/p>\n\n\n\n<p>So in Domino\u2019s, we&#8217;re using WebdriverIO in three projects \u2013 Domino&#8217;s website, in the Domino&#8217;s re-architecture, and in the Domino&#8217;s call center application. [In fact,] we are using WebdriverIO with two different kinds of reports, and we&#8217;re using [it] with two different kinds of BDD frameworks. One is, of course, Cucumber; that is the most used in the industry. And another one is with Mocha. And in both, we have very successful results. We have close to 200 test scenarios right now. And we are executing every single week. And we are generating reports for those specific scenarios. We have a 90% success pass rate in all scenarios.<\/p>\n\n\n\n<p>And we&#8217;re using Applitools as an integration for discovering issues \u2013 visual issues and visual AI validations. And basically in all those scenarios, we&#8217;re validating the results in all those browsers. We\u2019re normally using Chrome, Safari, Firefox, Edge, and of course, we&#8217;re using mobile as well, in the flavors of Android and iOS.<\/p>\n\n\n\n<p>And the cool thing is that it really depends about what is the usage for customers, right? Most of the customers that we have are using Chrome, and we are seeing what is our market, what our customers are using, and we are validating our products in those particular customers.<\/p>\n\n\n\n<p>So I am really happy with WebdriverIO, because I was able to use it in other problems that we were facing. For example, in Malaysia we have some stores as well, and in the previous year we had a problem with performance in Malaysia. So I was able to integrate a plugin \u2013 Lighthouse from Google \u2013 in order to measure the performance for that particular market in Malaysia using WebdriverIO. So far for us [at] Domino\u2019s, WebdriverIO is doing great. And I am really happy with the solution and the results and the framework that we selected. And that&#8217;s everything from my end. Thank you so much.<\/p>\n<\/div><\/div>\n\n\n\n<div class=\"wp-block-group pt-xs pb-xs\"><div class=\"wp-block-group__inner-container is-layout-constrained wp-block-group-is-layout-constrained\">\n<h2 class=\"wp-block-heading\" id=\"h-what-are-their-biggest-challenges\">What are their biggest challenges?<\/h2>\n\n\n\n<p>So we\u2019ve gotten an overview of the projects these test experts are using and a little bit of their histories with their test framework of choice. This will help set a foundation to get to know our engineers and understand where they\u2019re coming from as we continue our <em>Cypress, Playwright, Selenium, or WebdriverIO? Let The Engineers Speak <\/em>series. In the <a href=\"https:\/\/app14743.cloudwayssites.com\/blog\/let-the-engineers-speak-part-2-the-biggest-challenges\/\" target=\"_blank\" rel=\"noreferrer noopener\"><strong><span style=\"text-decoration: underline;\">next article<\/span><\/strong><\/a>, we\u2019ll cover the biggest challenges these experts face in their current test automation projects.<\/p>\n<\/div><\/div>\n\n\n<section class=\"article-group\">\n    <div class=\"is-row\">\n      <div class=\"title-bar\">\n      <div><\/div>\n    <\/div>      <div class=\"row\">\n                  <div class=\"col-md-6 col-lg-3\">\n            \t<div class=\"item \">\n\t\t<a href=\"https:\/\/app14743.cloudwayssites.com\/blog\/let-the-engineers-speak-part-5-audience-qa\/\" >\n\t\t\t\t\t\t\t<picture class=\"image\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<img decoding=\"async\" src=\"https:\/\/app14743.cloudwayssites.com\/wp-content\/uploads\/2022\/12\/Title-384x242.jpg\" width=\"384\" height=\"242\" alt=\"\" loading=\"lazy\">\n\t\t\t\t<\/picture>\n\t\t\t\t\t\t<div class=\"content\">\n\t\t\t\t<h3 class=\"title\">Let the Engineers Speak! Part 5: Audience Q&#038;A<\/h3>\n\t\t\t\t\t\t\t\t\t<div class=\"meta\">\n\t\t\t\t\t\tArticles &mdash; 01.11.2023\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t<\/div>\n\t\t<\/a>\n\t<\/div>\n          <\/div>\n                    <div class=\"col-md-6 col-lg-3\">\n            \t<div class=\"item \">\n\t\t<a href=\"https:\/\/app14743.cloudwayssites.com\/blog\/let-the-engineers-speak-part-4-changing-frameworks\/\" >\n\t\t\t\t\t\t\t<picture class=\"image\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<img decoding=\"async\" src=\"https:\/\/app14743.cloudwayssites.com\/wp-content\/uploads\/2022\/12\/Title-384x242.jpg\" width=\"384\" height=\"242\" alt=\"\" loading=\"lazy\">\n\t\t\t\t<\/picture>\n\t\t\t\t\t\t<div class=\"content\">\n\t\t\t\t<h3 class=\"title\">Let the Engineers Speak! Part 4: Changing Frameworks<\/h3>\n\t\t\t\t\t\t\t\t\t<div class=\"meta\">\n\t\t\t\t\t\tArticles &mdash; 01.05.2023\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t<\/div>\n\t\t<\/a>\n\t<\/div>\n          <\/div>\n                    <div class=\"col-md-6 col-lg-3\">\n            \t<div class=\"item \">\n\t\t<a href=\"https:\/\/app14743.cloudwayssites.com\/blog\/let-the-engineers-speak-part-3-favorite-test-integrations\/\" >\n\t\t\t\t\t\t\t<picture class=\"image\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<img decoding=\"async\" src=\"https:\/\/app14743.cloudwayssites.com\/wp-content\/uploads\/2022\/12\/Title-384x242.jpg\" width=\"384\" height=\"242\" alt=\"\" loading=\"lazy\">\n\t\t\t\t<\/picture>\n\t\t\t\t\t\t<div class=\"content\">\n\t\t\t\t<h3 class=\"title\">Let the Engineers Speak! Part 3: Favorite Test Integrations<\/h3>\n\t\t\t\t\t\t\t\t\t<div class=\"meta\">\n\t\t\t\t\t\tArticles &mdash; 12.28.2022\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t<\/div>\n\t\t<\/a>\n\t<\/div>\n          <\/div>\n                    <div class=\"col-md-6 col-lg-3\">\n            \t<div class=\"item \">\n\t\t<a href=\"https:\/\/app14743.cloudwayssites.com\/blog\/let-the-engineers-speak-part-2-the-biggest-challenges\/\" >\n\t\t\t\t\t\t\t<picture class=\"image\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<img decoding=\"async\" src=\"https:\/\/app14743.cloudwayssites.com\/wp-content\/uploads\/2022\/12\/Title-384x242.jpg\" width=\"384\" height=\"242\" alt=\"\" loading=\"lazy\">\n\t\t\t\t<\/picture>\n\t\t\t\t\t\t<div class=\"content\">\n\t\t\t\t<h3 class=\"title\">Let the Engineers Speak! Part 2: The Biggest Challenges<\/h3>\n\t\t\t\t\t\t\t\t\t<div class=\"meta\">\n\t\t\t\t\t\tArticles &mdash; 12.22.2022\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t<\/div>\n\t\t<\/a>\n\t<\/div>\n          <\/div>\n                <\/div>\n    <\/div>\n    <\/section>","protected":false},"excerpt":{"rendered":"<p>Over the past two years, Applitools has hosted a series of code battles called Let the Code Speak. We pitted the most popular web testing frameworks against each other through&#8230;<\/p>\n","protected":false},"author":89,"featured_media":44914,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[10002],"tags":[16835,10357,16833,16834,16830,16838,16828,16827,16829,16608,16832,10139,16837,16836,10847,16831],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v24.5 (Yoast SEO v24.5) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Let the Engineers Speak! Part 1: Real-World Projects<\/title>\n<meta name=\"description\" content=\"Explore how engineers at Mercari, YOOBIC, Hilton, Q2, and Domino\u2019s build their test automation projects and why they chose their frameworks.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/app14743.cloudwayssites.com\/blog\/let-the-engineers-speak-part-1-real-world-projects\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Let the Engineers Speak! Part 1: Real-World Projects\" \/>\n<meta property=\"og:description\" content=\"Over the past two years, Applitools has hosted a series of code battles called Let the Code Speak. We pitted the most popular web testing frameworks\" \/>\n<meta property=\"og:url\" content=\"https:\/\/app14743.cloudwayssites.com\/blog\/let-the-engineers-speak-part-1-real-world-projects\/\" \/>\n<meta property=\"og:site_name\" content=\"AI-Powered End-to-End Testing | Applitools\" \/>\n<meta property=\"article:published_time\" content=\"2022-12-19T16:27:39+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2023-01-06T20:48:12+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/app14743.cloudwayssites.com\/wp-content\/uploads\/2022\/12\/Title.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"960\" \/>\n\t<meta property=\"og:image:height\" content=\"540\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"Andrew Knight\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Andrew Knight\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"11 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/app14743.cloudwayssites.com\/blog\/let-the-engineers-speak-part-1-real-world-projects\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/app14743.cloudwayssites.com\/blog\/let-the-engineers-speak-part-1-real-world-projects\/\"},\"author\":{\"name\":\"Andrew Knight\",\"@id\":\"https:\/\/app14743.cloudwayssites.com\/#\/schema\/person\/a8038d2c9ccd3531090422b6172b125b\"},\"headline\":\"Let the Engineers Speak! Part 1: Real-World Projects\",\"datePublished\":\"2022-12-19T16:27:39+00:00\",\"dateModified\":\"2023-01-06T20:48:12+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/app14743.cloudwayssites.com\/blog\/let-the-engineers-speak-part-1-real-world-projects\/\"},\"wordCount\":2288,\"publisher\":{\"@id\":\"https:\/\/app14743.cloudwayssites.com\/#organization\"},\"image\":{\"@id\":\"https:\/\/app14743.cloudwayssites.com\/blog\/let-the-engineers-speak-part-1-real-world-projects\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/app14743.cloudwayssites.com\/wp-content\/uploads\/2022\/12\/Title.jpg\",\"keywords\":[\"Carter Capocaccia\",\"Cypress\",\"Domino's\",\"Gleb Bahmutov\",\"Hilton\",\"Jose Morales\",\"Let the Code Speak\",\"Let the Engineers Speak\",\"Mercari\",\"Playwright\",\"Q2\",\"Selenium\",\"Steve Hernandez\",\"Tally Barak\",\"WebdriverIO\",\"YOOBIC\"],\"articleSection\":[\"Events\"],\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/app14743.cloudwayssites.com\/blog\/let-the-engineers-speak-part-1-real-world-projects\/\",\"url\":\"https:\/\/app14743.cloudwayssites.com\/blog\/let-the-engineers-speak-part-1-real-world-projects\/\",\"name\":\"Let the Engineers Speak! Part 1: Real-World Projects\",\"isPartOf\":{\"@id\":\"https:\/\/app14743.cloudwayssites.com\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/app14743.cloudwayssites.com\/blog\/let-the-engineers-speak-part-1-real-world-projects\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/app14743.cloudwayssites.com\/blog\/let-the-engineers-speak-part-1-real-world-projects\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/app14743.cloudwayssites.com\/wp-content\/uploads\/2022\/12\/Title.jpg\",\"datePublished\":\"2022-12-19T16:27:39+00:00\",\"dateModified\":\"2023-01-06T20:48:12+00:00\",\"description\":\"Explore how engineers at Mercari, YOOBIC, Hilton, Q2, and Domino\u2019s build their test automation projects and why they chose their frameworks.\",\"breadcrumb\":{\"@id\":\"https:\/\/app14743.cloudwayssites.com\/blog\/let-the-engineers-speak-part-1-real-world-projects\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/app14743.cloudwayssites.com\/blog\/let-the-engineers-speak-part-1-real-world-projects\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/app14743.cloudwayssites.com\/blog\/let-the-engineers-speak-part-1-real-world-projects\/#primaryimage\",\"url\":\"https:\/\/app14743.cloudwayssites.com\/wp-content\/uploads\/2022\/12\/Title.jpg\",\"contentUrl\":\"https:\/\/app14743.cloudwayssites.com\/wp-content\/uploads\/2022\/12\/Title.jpg\",\"width\":960,\"height\":540,\"caption\":\"Cypress, Playwright, Selenium, or WebdriverIO? Let the Engineers Speak! from Applitools\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/app14743.cloudwayssites.com\/blog\/let-the-engineers-speak-part-1-real-world-projects\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/app14743.cloudwayssites.com\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Events\",\"item\":\"https:\/\/app14743.cloudwayssites.com\/blog\/category\/events\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Let the Engineers Speak! Part 1: Real-World Projects\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/app14743.cloudwayssites.com\/#website\",\"url\":\"https:\/\/app14743.cloudwayssites.com\/\",\"name\":\"Applitools Visual AI\",\"description\":\"Applitools delivers full end-to-end test automation with AI infused at every step.\",\"publisher\":{\"@id\":\"https:\/\/app14743.cloudwayssites.com\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/app14743.cloudwayssites.com\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/app14743.cloudwayssites.com\/#organization\",\"name\":\"Applitools\",\"url\":\"https:\/\/app14743.cloudwayssites.com\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/app14743.cloudwayssites.com\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/app14743.cloudwayssites.com\/wp-content\/uploads\/2020\/03\/applitools.png\",\"contentUrl\":\"https:\/\/app14743.cloudwayssites.com\/wp-content\/uploads\/2020\/03\/applitools.png\",\"width\":156,\"height\":28,\"caption\":\"Applitools\"},\"image\":{\"@id\":\"https:\/\/app14743.cloudwayssites.com\/#\/schema\/logo\/image\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\/\/app14743.cloudwayssites.com\/#\/schema\/person\/a8038d2c9ccd3531090422b6172b125b\",\"name\":\"Andrew Knight\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/app14743.cloudwayssites.com\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/a1117da4074b1fd8692051ab8a3a9528?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/a1117da4074b1fd8692051ab8a3a9528?s=96&d=mm&r=g\",\"caption\":\"Andrew Knight\"},\"url\":\"https:\/\/app14743.cloudwayssites.com\/blog\/author\/andyknight\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Let the Engineers Speak! Part 1: Real-World Projects","description":"Explore how engineers at Mercari, YOOBIC, Hilton, Q2, and Domino\u2019s build their test automation projects and why they chose their frameworks.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/app14743.cloudwayssites.com\/blog\/let-the-engineers-speak-part-1-real-world-projects\/","og_locale":"en_US","og_type":"article","og_title":"Let the Engineers Speak! Part 1: Real-World Projects","og_description":"Over the past two years, Applitools has hosted a series of code battles called Let the Code Speak. We pitted the most popular web testing frameworks","og_url":"https:\/\/app14743.cloudwayssites.com\/blog\/let-the-engineers-speak-part-1-real-world-projects\/","og_site_name":"AI-Powered End-to-End Testing | Applitools","article_published_time":"2022-12-19T16:27:39+00:00","article_modified_time":"2023-01-06T20:48:12+00:00","og_image":[{"width":960,"height":540,"url":"https:\/\/app14743.cloudwayssites.com\/wp-content\/uploads\/2022\/12\/Title.jpg","type":"image\/jpeg"}],"author":"Andrew Knight","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Andrew Knight","Est. reading time":"11 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/app14743.cloudwayssites.com\/blog\/let-the-engineers-speak-part-1-real-world-projects\/#article","isPartOf":{"@id":"https:\/\/app14743.cloudwayssites.com\/blog\/let-the-engineers-speak-part-1-real-world-projects\/"},"author":{"name":"Andrew Knight","@id":"https:\/\/app14743.cloudwayssites.com\/#\/schema\/person\/a8038d2c9ccd3531090422b6172b125b"},"headline":"Let the Engineers Speak! Part 1: Real-World Projects","datePublished":"2022-12-19T16:27:39+00:00","dateModified":"2023-01-06T20:48:12+00:00","mainEntityOfPage":{"@id":"https:\/\/app14743.cloudwayssites.com\/blog\/let-the-engineers-speak-part-1-real-world-projects\/"},"wordCount":2288,"publisher":{"@id":"https:\/\/app14743.cloudwayssites.com\/#organization"},"image":{"@id":"https:\/\/app14743.cloudwayssites.com\/blog\/let-the-engineers-speak-part-1-real-world-projects\/#primaryimage"},"thumbnailUrl":"https:\/\/app14743.cloudwayssites.com\/wp-content\/uploads\/2022\/12\/Title.jpg","keywords":["Carter Capocaccia","Cypress","Domino's","Gleb Bahmutov","Hilton","Jose Morales","Let the Code Speak","Let the Engineers Speak","Mercari","Playwright","Q2","Selenium","Steve Hernandez","Tally Barak","WebdriverIO","YOOBIC"],"articleSection":["Events"],"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/app14743.cloudwayssites.com\/blog\/let-the-engineers-speak-part-1-real-world-projects\/","url":"https:\/\/app14743.cloudwayssites.com\/blog\/let-the-engineers-speak-part-1-real-world-projects\/","name":"Let the Engineers Speak! Part 1: Real-World Projects","isPartOf":{"@id":"https:\/\/app14743.cloudwayssites.com\/#website"},"primaryImageOfPage":{"@id":"https:\/\/app14743.cloudwayssites.com\/blog\/let-the-engineers-speak-part-1-real-world-projects\/#primaryimage"},"image":{"@id":"https:\/\/app14743.cloudwayssites.com\/blog\/let-the-engineers-speak-part-1-real-world-projects\/#primaryimage"},"thumbnailUrl":"https:\/\/app14743.cloudwayssites.com\/wp-content\/uploads\/2022\/12\/Title.jpg","datePublished":"2022-12-19T16:27:39+00:00","dateModified":"2023-01-06T20:48:12+00:00","description":"Explore how engineers at Mercari, YOOBIC, Hilton, Q2, and Domino\u2019s build their test automation projects and why they chose their frameworks.","breadcrumb":{"@id":"https:\/\/app14743.cloudwayssites.com\/blog\/let-the-engineers-speak-part-1-real-world-projects\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/app14743.cloudwayssites.com\/blog\/let-the-engineers-speak-part-1-real-world-projects\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/app14743.cloudwayssites.com\/blog\/let-the-engineers-speak-part-1-real-world-projects\/#primaryimage","url":"https:\/\/app14743.cloudwayssites.com\/wp-content\/uploads\/2022\/12\/Title.jpg","contentUrl":"https:\/\/app14743.cloudwayssites.com\/wp-content\/uploads\/2022\/12\/Title.jpg","width":960,"height":540,"caption":"Cypress, Playwright, Selenium, or WebdriverIO? Let the Engineers Speak! from Applitools"},{"@type":"BreadcrumbList","@id":"https:\/\/app14743.cloudwayssites.com\/blog\/let-the-engineers-speak-part-1-real-world-projects\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/app14743.cloudwayssites.com\/"},{"@type":"ListItem","position":2,"name":"Events","item":"https:\/\/app14743.cloudwayssites.com\/blog\/category\/events\/"},{"@type":"ListItem","position":3,"name":"Let the Engineers Speak! Part 1: Real-World Projects"}]},{"@type":"WebSite","@id":"https:\/\/app14743.cloudwayssites.com\/#website","url":"https:\/\/app14743.cloudwayssites.com\/","name":"Applitools Visual AI","description":"Applitools delivers full end-to-end test automation with AI infused at every step.","publisher":{"@id":"https:\/\/app14743.cloudwayssites.com\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/app14743.cloudwayssites.com\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/app14743.cloudwayssites.com\/#organization","name":"Applitools","url":"https:\/\/app14743.cloudwayssites.com\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/app14743.cloudwayssites.com\/#\/schema\/logo\/image\/","url":"https:\/\/app14743.cloudwayssites.com\/wp-content\/uploads\/2020\/03\/applitools.png","contentUrl":"https:\/\/app14743.cloudwayssites.com\/wp-content\/uploads\/2020\/03\/applitools.png","width":156,"height":28,"caption":"Applitools"},"image":{"@id":"https:\/\/app14743.cloudwayssites.com\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/app14743.cloudwayssites.com\/#\/schema\/person\/a8038d2c9ccd3531090422b6172b125b","name":"Andrew Knight","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/app14743.cloudwayssites.com\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/a1117da4074b1fd8692051ab8a3a9528?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/a1117da4074b1fd8692051ab8a3a9528?s=96&d=mm&r=g","caption":"Andrew Knight"},"url":"https:\/\/app14743.cloudwayssites.com\/blog\/author\/andyknight\/"}]}},"_links":{"self":[{"href":"https:\/\/app14743.cloudwayssites.com\/wp-json\/wp\/v2\/posts\/45037"}],"collection":[{"href":"https:\/\/app14743.cloudwayssites.com\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/app14743.cloudwayssites.com\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/app14743.cloudwayssites.com\/wp-json\/wp\/v2\/users\/89"}],"replies":[{"embeddable":true,"href":"https:\/\/app14743.cloudwayssites.com\/wp-json\/wp\/v2\/comments?post=45037"}],"version-history":[{"count":0,"href":"https:\/\/app14743.cloudwayssites.com\/wp-json\/wp\/v2\/posts\/45037\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/app14743.cloudwayssites.com\/wp-json\/wp\/v2\/media\/44914"}],"wp:attachment":[{"href":"https:\/\/app14743.cloudwayssites.com\/wp-json\/wp\/v2\/media?parent=45037"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/app14743.cloudwayssites.com\/wp-json\/wp\/v2\/categories?post=45037"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/app14743.cloudwayssites.com\/wp-json\/wp\/v2\/tags?post=45037"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}