testguild.com Open in urlscan Pro
2606:4700:20::681a:df4  Public Scan

Submitted URL: https://testguild.com/w
Effective URL: https://testguild.com/webdriverio/
Submission: On July 30 via manual from IN — Scanned from US

Form analysis 2 forms found in the DOM

POST #

<form action="#" method="post" novalidate="novalidate" autocomplete="new-password" data-dashlane-rid="43d7e2d6b8b8491d" data-form-type="register" data-dashlane-captcha="true">
  <div class="tve_lead_generated_inputs_container tve_clearfix tve_empty_dropzone">
    <div class="tve_lg_input_container tve_lg_input" data-css="tve-u-1867ebba29d" data-tcb_hover_state_parent="" data-label="tve-lg-1867ebe414e">
      <input type="text" data-field="name" name="name" placeholder="Your First Name" data-placeholder="Your First Name" data-dashlane-rid="b749a955bb88440f" data-form-type="name" data-required="1" data-validation="">
    </div>
    <div class="tve_lg_input_container tve_lg_input" data-css="tve-u-1867ebba29d" data-tcb_hover_state_parent="">
      <div id="clearout__input_container_75614" class="coinputcontainer" style="display: block; position: relative; width:100%;height:auto"><input type="email" data-field="email" data-required="1" data-validation="email" name="email"
          placeholder="Your Best Email" data-placeholder="Your Best Email" data-dashlane-rid="045ab429ea6cb2bd" data-form-type="email" data-clearout-email-identifier="true">
        <div class="coloader" style="position: absolute; z-index: 1000000; pointer-events: none; background: transparent; text-align: right; margin: 0px; top: 1px;
        left: 1px; padding: 0px; border-width: 0px; border-style: solid; border-radius: 0px;
        -webkit-appearance: none; vertical-align: baseline; box-sizing: border-box; color: grey;
        height: 100%; width: 100%; display:none">
          <div class="coloader_img_container" style="height: 100%; margin-right:5px;position: relative; float: right; text-align: right; width: 20px;
          display: flex; display: -webkit-flex;display: -ms-flex;justify-content: center;  -ms-align-items: center;  
          align-items: center;">
            <img class="spinner_img" src="https://co-asset.s3.ap-south-1.amazonaws.com/js/assets/loader.gif" style="display:none;padding:1px;width:100%">
            <img class="correct_img" src="https://co-asset.s3.ap-south-1.amazonaws.com/js/assets/correct.png" style="display:none;padding:1px;width:100%">
            <img class="wrong_img" src="https://co-asset.s3.ap-south-1.amazonaws.com/js/assets/wrong.png" style="display:none;padding:1px;width:100%">
          </div>
        </div>
        <div class="cofeedback" style="height:auto;display:none">
          <span class="feedback_msg error-msg" style="float:left;color:#f50959;display:block"></span>
          <span class="poweredby" style="font-size:12px;float:right;padding-right:1px;display:none;">
            <span style="font-size:11px;">Powered by&nbsp;</span>
            <a target="_blank" href="https://clearout.io?utm_source=js-widget&amp;utm_medium=widget&amp;utm_campaign=clearout-poweredby" style="color:#ff9800;" onclick="javascript:window.open('https://clearout.io/?utm_source=js-widget&amp;utm_medium=widget&amp;utm_campaign=clearout-poweredby'); return false;">Clearout.io</a>
          </span>
        </div>
      </div>
    </div>
    <div class="tve_lg_input_container tve_submit_container tve_lg_submit" data-button-style="border_1" data-css="tve-u-1867ebba29f" data-tcb_hover_state_parent=""><button type="submit" class="" data-dashlane-rid="ae64f982084093b2"
        data-form-type="action,register" style="" data-dashlane-label="true"><span>GET 10 TIPS NOW</span></button></div>
    <div id="tve-1867ece8a10-101" class="tve-captcha-container tve-captcha-light tve-captcha-normal tve-recaptcha-rendered" data-theme="light" data-type="image" data-size="normal">
      <div style="width: 304px; height: 78px;">
        <div><iframe title="reCAPTCHA" width="304" height="78" role="presentation" name="a-2l68uwpw70l0" frameborder="0" scrolling="no"
            sandbox="allow-forms allow-popups allow-same-origin allow-scripts allow-top-navigation allow-modals allow-popups-to-escape-sandbox allow-storage-access-by-user-activation"
            src="https://www.google.com/recaptcha/api2/anchor?ar=1&amp;k=6Lfg_KYnAAAAAKsrrrnkFQ4rAg9UFqZPEkJ2kXR2&amp;co=aHR0cHM6Ly90ZXN0Z3VpbGQuY29tOjQ0Mw..&amp;hl=en&amp;type=image&amp;v=Xv-KF0LlBu_a0FJ9I5YSlX5m&amp;theme=light&amp;size=normal&amp;cb=fwqyfsfzxrj9"></iframe>
        </div><textarea id="g-recaptcha-response" name="g-recaptcha-response" class="g-recaptcha-response"
          style="width: 250px; height: 40px; border: 1px solid rgb(193, 193, 193); margin: 10px 25px; padding: 0px; resize: none; display: none;"></textarea>
      </div>
    </div>
  </div>
  <input id="_submit_option" type="hidden" name="_submit_option" value="redirect"><input id="_back_url" type="hidden" name="_back_url" value="https://testguild.com/welcome-guild/"><input id="_sendParams" type="hidden" name="_sendParams"
    value=""><input id="_api_custom_fields" type="hidden" name="_api_custom_fields"
    value="YToxMDp7aTowO2E6Mjp7czoyOiJpZCI7czo0OiJuYW1lIjtzOjExOiJwbGFjZWhvbGRlciI7czo0OiJOYW1lIjt9aToxO2E6Mjp7czoyOiJpZCI7czo1OiJwaG9uZSI7czoxMToicGxhY2Vob2xkZXIiO3M6NToiUGhvbmUiO31pOjI7YToyOntzOjI6ImlkIjtzOjEyOiJtYXBwaW5nX3RleHQiO3M6MTE6InBsYWNlaG9sZGVyIjtzOjQ6IlRleHQiO31pOjM7YToyOntzOjI6ImlkIjtzOjExOiJtYXBwaW5nX3VybCI7czoxMToicGxhY2Vob2xkZXIiO3M6MzoiVVJMIjt9aTo0O2E6Mjp7czoyOiJpZCI7czoxMzoibWFwcGluZ19yYWRpbyI7czoxMToicGxhY2Vob2xkZXIiO3M6NToiUmFkaW8iO31pOjU7YToyOntzOjI6ImlkIjtzOjE0OiJtYXBwaW5nX3NlbGVjdCI7czoxMToicGxhY2Vob2xkZXIiO3M6ODoiRHJvcGRvd24iO31pOjY7YToyOntzOjI6ImlkIjtzOjE2OiJtYXBwaW5nX2NoZWNrYm94IjtzOjExOiJwbGFjZWhvbGRlciI7czo4OiJDaGVja2JveCI7fWk6NzthOjI6e3M6MjoiaWQiO3M6MTY6Im1hcHBpbmdfdGV4dGFyZWEiO3M6MTE6InBsYWNlaG9sZGVyIjtzOjg6IlRleHRhcmVhIjt9aTo4O2E6Mjp7czoyOiJpZCI7czoxMjoibWFwcGluZ19maWxlIjtzOjExOiJwbGFjZWhvbGRlciI7czoxMToiRmlsZSB1cGxvYWQiO31pOjk7YToyOntzOjI6ImlkIjtzOjE0OiJtYXBwaW5nX2hpZGRlbiI7czoxMToicGxhY2Vob2xkZXIiO3M6NjoiSGlkZGVuIjt9fQ=="><input
    type="hidden" id="tve_mapping" name="tve_mapping" value="YTowOnt9"><input type="hidden" id="tve_labels" name="tve_labels" value="YToyOntzOjQ6Im5hbWUiO3M6MTU6IllvdXIgRmlyc3QgTmFtZSI7czo1OiJlbWFpbCI7czoxNToiWW91ciBCZXN0IEVtYWlsIjt9">
</form>

GET /

<form role="search" method="get" action="/" class="search-header__form"> <input type="search" class="search-header__input" placeholder="Type in your search term.." value="" name="s" id="s"> <input type="submit" class="search-header__submit" value="">
</form>

Text Content

Previous
Test Guild New Podcast: AI for Test Coverage, Why Playwright is Slow,
Crowdstrike and more! TGNS129 839
Test Guild New Podcast: NASA Testing, Playwright Typescript Course, Cypress BDD
and More! TGNS130 839
Test Guild New Podcast: Observability Testing Using OpenTelemetry with Swapnil
Kotwal 839
Test Guild New Podcast: A Day In The Life With Dev Op with Michael Martinez 839
Test Guild New Podcast: AI for Test Coverage, Why Playwright is Slow,
Crowdstrike and more! TGNS129 839
Test Guild New Podcast: NASA Testing, Playwright Typescript Course, Cypress BDD
and More! TGNS130 839
Test Guild New Podcast: Observability Testing Using OpenTelemetry with Swapnil
Kotwal 839
Test Guild New Podcast: A Day In The Life With Dev Op with Michael Martinez 839
Test Guild New Podcast: AI for Test Coverage, Why Playwright is Slow,
Crowdstrike and more! TGNS129 839
Next
 * 1
 * 2
 * 3
 * 4

+1 (865) 272-6088Login



 * Learn Automation Testing
   * Blog
   * Webinars
   * Courses
   * Podcasts
     * Automation Testing
     * DevOps ToolChain (Performance & SRE)
     * News Show
   * Test Automation Book
   * YouTube
   * Join Community
 * Free Tools
   * Automation Assessment
   * AI Test Bot
   * Test Automation Guilde
   * Join Community
 * Search
 * Testing Conferences
   * Login
   * Automation Guild
   * Call for Speakers
 * Services


Partnerships
Automation Testing


WEBDRIVERIO FOR JAVASCRIPT AUTOMATION TESTING STARTER WDIO GUIDE

18 July 2019, 07:00 AM
By Test Guild
 * Share:
 * 
 * 
 * 

Join the Guild for FREE

Learn more about our Strategic Partner




Learn more about our Strategic Partner




WebdriverIO (WDIO) is often called a next-gen browser and mobile test automation
framework.

So if you are looking for an automation framework that leverages Selenium and
allows you to program in JavaScript. Or you want to run your test again on
different browsers using a Selenium Grid?

You need to check out WebdriverIO which is often called a next-gen browser and
mobile test automation framework. (If not, check out my post on the top 48 other
automation testing tools you need to know)

After speaking with a few folks on TestTalks, including Larry Goddard, creator
of the klassi.js framework, Kevin Lamp, author of the course Learn WebDriver.io,
and Christian Bromann, the core maintainer of WebdriverIO, here is why.

Key points covered in this guide:

 * WebdriverIO vs SeleniumJS
 * Simpler Selenium Syntax
 * Working with Shadow Doms
 * JavaScript Test Ecosystem
 * Testrunner
 * Debug Command
 * Who should use this tool?
 * How’s the Community


SELENIUM JAVASCRIPT BINDINGS?

The first question you might ask is, “Why not just use the Selenium JavaScript
binding?”

Well, as you know, Selenium is just an API that requires you to create all the
pieces of an automation framework yourself.

Christian says that WebdriverIO gives you a full-fledged framework out of the
box. It doesn't require you to implement anything from scratch like you would
with straight Selenium.



It comes with everything you need to build scalable and sustainable test suites.

Also, this tool has extra features not found in the straight Selenium version.

Kevin explained that the chief benefit of WebdriverIO is that it's like that
SeleniumJS binding on steroids. It takes that basic idea and pumps it up with a
ton of features, add-ins and more to make it much easier to get started with
testing.



It automatically handles all the boilerplate of setting up a real testing
framework.


SIMPLER SELENIUM SYNTAX

Everyone that I’ve spoken to about WebdriverIO has mentioned how simple it is to
write tests using it.

According to Larry, WebdriverIO is super intelligent. For instance, with regular
Selenium WebDriver you have say “find element” by CSS or ID, or by name or
partial text.



With WebdriverIO, it's just a simple driver.click on the element, and in any
background, it will decide based on the element you passed which locator to use.

So if it's a CSS, a partial text or XPath, it can figure it out for itself.

Kevin agrees and also mentioned that there are other Selenium-based tools out
there, but to use those you have to know Python, Ruby or Java. These languages
are very verbose compared to what you’re looking at a WebDriverIO script.

The beauty of WebdriverIO is that its syntax is very concise and to the point.

So what are some of the other feature that WebDriverIO offers?


SHADOW DOMS SUPPORT

One of the trends of building web components that’s becoming popular in software
development is the use of Shadow Doms.

Automating this can be tricky since this technique allows hidden DOM trees to be
associated with elements in a standard DOM, which means that many elements are
not readily available for creating a “point and click” type of script.

With the release of WebdriverOP v5.5.0, it now contains built-in support for
shadow Doms with two newly introduced commands called shadow$ and shadow$$.

 * Shadow$ – this function gives you access to elements inside a given element's
   ShadowRoot.
 * shadow$$ – this function gives you access to elements inside a given
   element's ShadowRoot

Larry says this is one of the main reasons why he enjoys using WebdriverIO so
much.

Also, don't forget to leverage the Chrome DevTools Protocol helper methods to
assist in finding correct elements to use for your test case. 



Pablo Calvo @MindfulTestDev told me not to forget that since v6 wdio supports
chrome devtools and web driver seamlessly out of the box.


JAVASCRIPT TEST ECOSYSTEM

Kevin also pointed out that WebdriverIO has an excellent plug-in and service
ecosystem that allows you to add services and plug-ins easily.

It also has a nice installer that gives you options for adding different
frameworks and built-in support for other third-party tools.

For example, during the install you can choose which framework to use:

 * Mocha
 * Jasmine
 * Cucumber



(**According to Christian the most-used framework is Mocha, but based on a
twitter pool Cucumber actually won as the most-preferred framework.)

What reporter to use:

 * Allure Reporter
 * Concise Reporter
 * Dot Reporter
 * Junit Reporter
 * Spec Reporter
 * Sumologic Reporter
 * Report Portal Reporter
 * Video Reporter
 * HTML Reporter
 * JSON Reporter
 * Mochawesome Reporter
 * Timeline Reporter

What services to use:

 * Appium Service
 * Applitools Service
 * BrowserStack Service
 * Crossbrowsertesting Service
 * Devtools Service
 * Firefox Profile Service
 * Sauce Labs Service
 * Selenium Standalone Service
 * Static Server Service
 * Testingbot Service
 * ChromeDriver Service
 * Intercept Service
 * Zafira Listener Service
 * Report Portal Service
 * Docker Service

With the click of a mouse you can get your favorite configuration installed and
working without doing anything else.

In addition to ease of installation, you also get some nice debugging
functionalities like watch mode and the debug command.


WATCH MODE WEBDRIVERIO TESTRUNNER

Another cool feature to run tests is the watch mode.

With the test runner, you can watch files while you are working on them. They
automatically rerun if you change either something in your app or your test
files.



By adding a watch flag when calling the WebDriver.io command, the test runner
will wait for file changes after it runs all the tests.

The testrunner can also use the Appium service to interact with your mobile
automation test framework.


DEBUG COMMAND

With the debug command, you stop execution and pause your test while it’s
running. The pause will keep the browser open, which is cool because you can
then look at the browser and inspection the elements.

It’s helpful to see all the available elements on the page that you can interact
with in real time. You can then issue commands from the terminal itself to try
things out before adding them to your script.


GOOD FOR QA AND DEVS

Kevin, who is a developer, also believes this framework is a good choice for
testers.

For QA folks I think using JavaScript with WebdriverIO is a lot easier for QA
folks to pick up than Java. Even if the person you're teaching is familiar with
programming, trying to figure out Java and how that all works is super
complicated.

JavaScript has an easier learning curve; compared to other languages out there
it certainly seems simpler.

I also recommend it for front-end developers, because they don't have to learn a
different language to use it.




HOW’S THE COMMUNITY?

When choosing any open-source project tool, it's critical to ensure that the
project is active and folks are working on it.

A project without a community around it is a red flag.

For Christian, the thing he is most proud of in the WebdriverIO community is the
team of people behind the project.

For instance, there is a Gitter support channel where thousands of people help
each other out regularly. So whenever you have a question, there are people that
can help you out and vice versa.

Another useful metric to look at when choosing an open-source tool is how
popular it is. The more popular it is, the more folks are probably contributing,
and the greater the chance that the tool will keep growing.

Looking at the download numbers, Selenium is still more popular than WebdriverIO
by far. Cypress.io is also getting more and more traction into the automation
space.

But besides those two exceptions, WebDriver Protocol is the most popular browser
test automation framework in the JavaScript area.

You can download, install, and check it for yourself [here].

Let me know in the comments below if I missed anything in this WebDriverIO
tutorial.


{"email":"Email address invalid","url":"Website address
invalid","required":"Required field missing"}
Automation Testing


9 WAYS AI IMPROVES SOFTWARE TESTING

Posted on 07/02/2024

I recently co-hosted a webinar, with Blinq.io to delve into the impact of ...

Automation Testing


STRATEGIC TEST ENVIRONMENT SETUP FOR AUTOMATION SUCCESS

Posted on 06/18/2024

Understanding the importance of test environment setup Test environment setup is
crucial for ...

Automation Testing


TOP 18 VISUAL TESTING TOOLS FOR TESTERS (2024 GUIDE)

Posted on 06/10/2024

When you're a web developer, making sure that your site looks great – ...




CREATE LESS FLAKY AUTOMATION TESTS. QUALITY CONTENT RIGHT IN YOUR INBOX

Automation Testing can be frustrating. Don’t do it alone. Register now to get
automation, performance, and security testing tips from some of the top experts
in the industry.

Click to Get 10 Quick Test Automation Tips Now

(865) 272-6088‬

> I appreciate the information you send over email. It has really helped me to
> enhance my testing skills!
> 
> Alisha Sheikh (Test Engineering Senior Analyst at Accenture)

> Thank you for all the information provided in your newsletter. I am new in
> automation testing; hence, it is very helpful.
> 
> Audrey Pruvot (TagPlay)





Copyright 2024 by Joe Colantonio | Test Guild LLC


 * Work With Us!
 * Privacy Policy





Joe Colantonio

Observability Testing Using OpenTelemetry with Swapnil Kotwal

Joe Colantonio         Joe Colantonio        
Observability Testing Using OpenTelemetry with Swapnil Kotwal          
Observability Testing Using OpenTelemetry with Swapnil Kotwal          
Join the Guild (FREE)!
More
Speed: 50% Speed: 75% Speed: Normal Speed: 125% Speed: 150% Speed: 175% Speed:
Double Speed: Triple
Back 15 seconds
Forward 60 seconds
More
Join the Guild (FREE)!

more
Speed: 50% Speed: 75% Speed: Normal Speed: 125% Speed: 150% Speed: 175% Speed:
Double Speed: Triple
Back 15 seconds

Forward 60 seconds

Currently Playing


Download
More





Powered by  Clearout.io
GET 10 TIPS NOW





return