Locators in Selenium WebDriver With Examples _ LambdaTest
Locators in Selenium WebDriver With Examples _ LambdaTest
com)
(https://accounts.lambdatest.com/login/google)
Start free with Start free with Email
Google (https://accounts.lambdatest.com/register)
Selenium locators (https://www.lambdatest.com/learning-hub/selenium-locators) are like the building block of a test script
that helps testers interact with the elements in the Document Object Model (https://www.lambdatest.com/blog/document-
object-model/) (DOM). Choosing the best-suited locators in Selenium WebDriver is one of the keys to ensuring that the tests are less
flaky (or brittle).
In this tutorial, we deep dive into the multiple locators in Selenium WebDriver, along with demonstrating the usage of those locators. If
you are preparing for an interview you can learn more through Selenium interview questions
(https://www.lambdatest.com/learning-hub/selenium-interview-questions).
TABLE OF CONTENTS
By Louise J Gibbs
However, the first operation is identifying those WebElements on the document (or page) under test. This is where locators in Selenium
WebDriver come into the picture.
Locators in Selenium WebDriver provide mechanisms for identifying HTML elements on the page. Selenium supports several web
locators, and you have to choose the one that meets your test requirements.
Let’s consider a simple example from the LambdaTest Selenium Playground (https://www.lambdatest.com/selenium-
playground/) website’s Input Form Demo page (https://www.lambdatest.com/selenium-playground/input-form-demo). You
need to devise a test scenario using Selenium and enter the email value in the Email text box field.
For more information on locators, please refer to this Selenium Locators Cheat Sheet
(https://www.lambdatest.com/blog/selenium-locators-cheat-sheet/).
Using the combination of these actions, the appropriate functionality of the web pages can be tested. Locators help us verify the
presence of the web element and its visibility and check the state of the web element, whether it is enabled or disabled.
Locators are an essential part of the test scripts, without which the automated testing (https://www.lambdatest.com/learning-
hub/automation-testing) can not perform the desired output. If the right locators are not used, it may result in failures and flaky tests.
Understanding the locator strategies is necessary as it can help save time and effort in writing the automated tests.
(https://www.lambdatest.com/kane-ai/)
1. Open the website and click on F12, or right-click and select Inspect.
3. There is a mouse icon on the leftmost side of the Developer Tools console. Once you hover over it, a message titled
Select an element in the page to inspect it will appear.
Click on it and navigate to the element you wish to locate. Once you click on the element, the DOM will be highlighted for that element,
as shown below.
4. The selected row in the DOM is the context from where you want to fetch the values. For example, the highlighted
DOM value is shown below.
1 <input type="email" class="w-full border border-gray-90 text-size-14 rounded mt-10 px-10 py-5" id="inputEmail4" name="email" pla
Now, you can choose the id, i.e., inputEmail4, to locate the desired Email text box element. The above technique will be used throughout
this blog to demonstrate the usage of different locators in Selenium WebDriver.
ID
Name
ClassName
LinkText
Partial LinkText
TagName
CSS Selector
XPath
As mentioned, Selenium WebDriver provides different web locators for locating WebElements on the page. Here are the different locators
in Selenium WebDriver that I will cover in-depth in the latter part of the blog:
className Use the Class attribute for identifying the object. driver.findElement(By.className(“classValue”));
partialLinkText Use a part of the text in hyperlinks to locate the WebElement. driver.findElement(By.partialLinkText(“PartialTextofLink”));
Using locators in Selenium 4 is a treat due to the introduction of relative locators in Selenium 4. The introduction of locators like above(),
below(), toLeftOf(), toRightOf(), and near() makes it easy to locate WebElements in relation to a particular WebElement.
We carried out a poll on LinkedIn to get insights into the testing community’s preferences, particularly regarding locators in Selenium
WebDriver. We asked, ‘What is your favorite element locator in Selenium WebDriver for test automation
(https://www.lambdatest.com/automation-testing)?’ The responses showed a clear preference for XPath among professionals.
This finding emphasizes the important role of XPath as a locator in Selenium WebDriver for test automation.
Source (https://www.linkedin.com/feed/update/urn:li:activity:7125005859511795714/)
ID Locator in Selenium
ID locator in Selenium (https://www.lambdatest.com/blog/making-the-move-with-id-locator-in-selenium-webdriver/) is
the most preferred and fastest way to locate desired WebElements on the page. ID locators are unique for each element in the DOM.
Since IDs are unique for each element on the page, it is considered the fastest and safest method to locate elements. Unfortunately,
developers may or may not follow this rule as browsers do allow bypassing this rule.
Specifically, in the case of a table or list, the IDs may populate incrementally or dynamically depending on the data in the table. In such
cases, testers use other locators in Selenium WebDriver to locate the desired element on the page.
I have used the Chrome Developer Tools menu to locate the WebElement using the id locator. Below is the DOM structure of the element:
1 <input type="text" name="email" value="" placeholder="E-Mail Address" id="input-email" class="form-control">
The below method is used for locating the desired element using the id locator:
1 driver.findElement(By.id("input-email"))
Unlike ID locators, which are unique for a page, the Name locator may or may not have a unique value. If there are WebElements with the
same name, the locator selects the first element with that Name on the page.
In case no such name matches with the defined attribute value, NoSuchElementException is raised.
Start Free Testing -> (https://accounts.lambdatest.com/register)
To demonstrate the usage of the Name locator in Selenium WebDriver, we will identify the same E-Mail Address fields that were located
using the ID locator.
(https://www.lambdatest.com)
Here is how the desired WebElement can be located using the name locator in Selenium:
1 driver.findElement(By.name("email"));
However, this identifier strategy can only be used for elements with an anchor( < a > ) tag.
Below is an example of the LambdaTest Selenium Playground website showcasing the selection of the Ajax Form Submit link that is
available on the home page. The DOM below shows the highlighted element:
Here is how the desired WebElement was located using the linkText locator in Selenium:
1 driver.findElement(By.linkText("Ajax Form Submit"));
Here, the partial text helps identify and use a unique element to perform further actions on it. Sometimes, this can also be locating
multiple links on a page with a common partial text.
Below is a snapshot of the LambdaTest DOM highlighting the element with the link name as Auto Healing. Instead of using the complete
link text, I used the partial link text locator to locate the element using the Healing link text.
Here is how the desired WebElement was located using the partialLinkText locator in Selenium:
For more information on Link Text and Partial LinkText locators, we recommend you check this article to find elements with linkText
and partialLinkText in Selenium (https://www.lambdatest.com/blog/using-link-text-and-partial-link-text-in-selenium/).
Here is the syntax for locating all the links on the LambdaTest Selenium Playground homepage. Notice here that the findElements method
is used. It will return a list of all the WebElements with the tagName ”a” that normally holds the links:
1 driver.findElements(By.tagName("a"));
Watch this video to learn the Actions class in Selenium and how to use it.
For locating the WebElement of the Submit button via the className locator in Selenium, we use the class attribute in the following DOM
structure:
1 <input type="button" class="btn btn-dark selenium_btn bg-black text-white hover:bg-lambda-900 py-5 px-10 rounded" name="btn-subm
Here is how the desired WebElement was located using the className locator in Selenium:
1 driver.findElement(By.className("btn-dark"));
Here, tagName in Selenium signifies the tag in the DOM structure you are targeting to locate the desired WebElement. tagName can be an
input tag, anchor tag, etc.
Attributes are defined via the prefix @ and their corresponding value. Thus, attributes like name, id, class, etc., can be used along with
tagName.
Standard XPath: As the name indicates, this is the most basic (or standard) way of writing an XPath. To demonstrate
the usage of a standard XPath locator in Selenium, let’s locate the WebElement of the E-Mail Address field on the
LambdaTest eCommerce Playground website.
The standard XPath of the desired WebElement is //input[@name= ’email’]. Here is how the XPath is used with the findElement() method
to locate the element.
1 driver.findElement(By.xpath("//*[@id="input-email"]"));
XPath Contains: XPath similarly contains works like CSS Selector contains. It is extensively used on WebElements,
whose value changes dynamically. Consider an example where the value of the login changes after appending the
login text.
Here, XPath contains will be super-helpful in locating the desired WebElement.
Syntax:
1 //tagname[contains(@attribute, 'partial value of attribute')]
Here is how the desired WebElement was located using the XPath contains locator in Selenium:
1 driver.findElement(By.xpath("//input[contains(@class, 'form-control')]"))
Here is how we used the OR operator with the XPath locator in Selenium:
1 driver.findElement(By.xpath("//input[@id=\"input-email\" or @name=\"email\"]"));
Here is how we used the AND operator with the XPath locator in Selenium:
1 driver.findElement(By.xpath(""//input[@id=\"input-email\" AND @name=\"email\"]"));
Syntax:
1 //tagname[starts-with(@attribute,'starting name of the attribute value')]
Shown below is the DOM structure for locating the Password field on the LambdaTest eCommerce Playground website’s Account Login
(https://ecommerce-playground.lambdatest.io/index.php?route=account/login) page:
Here is how we locate the Password element using the starts-with() method with xpath in Selenium:
1 driver.findElement(By.xpath("//input[starts-with(@name,'pass')]"));
XPath Text
Text in the XPath locator in Selenium helps locate WebElements via XPath using exact text match. It can be used when elements have to
be located by looking into the tags containing certain text.
Syntax:
1 //div[text()='Logged In']
To demonstrate XPath text usage, we will locate the Submit button on the Auto Healing page
(https://www.lambdatest.com/selenium-playground/auto-healing) on the LambdaTest Selenium Playground website.
Here is how we locate the Submit button element using the xpath text:
1 driver.findElement(By.xpath("//button[text()='Submit']"));
Both CSS Selector and XPath are helpful when running complex Selenium test automation scenarios. The choice between XPath and CSS
Selector purely depends on the scenario complexity and your convenience in locating WebElements using the corresponding locator.
When choosing, always look into the maintainability aspects of the locators, as that can make your job easier!
The CSS Selector (https://www.lambdatest.com/blog/css-selectors/) in Selenium should be chosen if you cannot locate an
element using ID or Name locators. It can be chosen over the XPath locator.
Since multiple debates go around the corner for both of them, their usage may depend on the complexity of the scenario. However, most
people prefer using CSS Selectors since those are faster than XPath.
Here are the different ways in which QA engineers can make use of CSS Selectors in Selenium:
HTML tag: It provides the tag we wish to locate (e.g., input tag).
#: It is used to represent the ID attribute. Remember that when you wish to locate an element via ID through a CSS
Selector, it must have a hash sign on the same. For other attributes, we need not use the hash sign.
Startrepresents
Value of the ID attribute: This Free Testing
the->ID(https://accounts.lambdatest.com/register)
value we use to locate the element.
Syntax:
(https://www.lambdatest.com)
1 css=(Html tag )(#) (value of the ID attribute)
Example:
Below is the DOM part indicating the First Name field on the Register Account (https://ecommerce-
playground.lambdatest.io/index.php?route=account/register) page of the LambdaTest eCommerce Playground website.
Here is how you can locate the required WebElement using the cssSelector:
1 driver.findElement(By.cssSelector("input#input-firstname"))
Syntax:
1 css=(HTML tag)(.)(Value of Class attribute)
Example:
Here is the DOM snapshot and the corresponding command to access the required WebElement using CSS Selector in Selenium for the
Login button on the Account Login (https://ecommerce-playground.lambdatest.io/index.php?route=account/login) page of
the LambdaTest eCommerce Playground website.
Syntax:
1 css=(HTML Page)[Attribute=Value]
Example:
Here is how the WebElement – ‘phone’ can be located using the cssSelector in Selenium.
1 driver.findElement(By.cssSelector("input[name=\"phone\"]"))
Syntax:
1 css=(HTML tag>)(. )(Class attribute value)([attribute=Value of attribute])
Let’s locate the Submit button on the Input Form Demo (https://www.lambdatest.com/selenium-playground/input-form-demo)
page on the LambdaTest Selenium Playground website.
Here is the DOM structure of the WebElement for the Submit button.
1 <button type="submit" class="bg-lambda-900 hover:bg-transparent hover:text-lambda-900 border border-lambda-900 text-white rounde
This combination can also be implied on ID. The only difference is to use a hash (#) rather than a dot (.) when using an ID attribute and
defining its ID value in place of the Class value.
Here is how wild cards can be effectively used with the CSS Selector in Selenium:
Syntax:
1 css=(HTML tag)([attribute^=start of the string])
Example:
Here is how the CSS [attribute^=value] Selector is used for locating the desired WebElement:
1 driver.findElement(By.cssSelector("input[name^='em']"));
(https://www.lambdatest.com)
1 css=(HTML tag)([attribute$=end of the string])
Example:
Here is how ends-with in CSS Selector is used for locating the required WebElement:
1 driver.findElement(By.cssSelector("input[name$='ail']"));
Syntax:
1 css=(HTML tag)([attribute*=partial string])
Example:
Here is the DOM structure to locate the element:
1 <input type="email" name="email" value="" placeholder="Email" required="required" autofocus="autofocus" class="form-control mt-3
Here is how contains in CSS Selector is used for locating the required WebElement:
1 driver.findElement(By.cssSelector("input[class*='control']"));
Example:
To demonstrate the use of child elements in CSS Selector, we will locate the menu links on the LambdaTest Selenium Playground home
page.
Here is how you can get the blog link from the page:
1 driver.findElement(By.cssSelector(".container__selenium ul > li:nth-child(1) > a");
For example, using toLeftOf Selenium 4 relative locator, WebElements to the left of a certain element can be easily located. This results in
a few findElement calls primarily used for locating elements on the page.
Note
Automate your Selenium testing across 3000+ real environments.Try LambdaTest Today!
(https://accounts.lambdatest.com/register)
LambdaTest is an AI-powered test orchestration and execution platform that lets developers and testers perform automation testing
(https://www.lambdatest.com/automation-testing) at scale on an online browser farm
(https://www.lambdatest.com/online-browser-farm) of 3000+ real browsers and operating systems.
(https://github.com/mfaisalkhatri/selenium-lambdatest-demo)
The first unique WebElement on the page is located using the following method:
1 WebElement FirstElement = driver.findElement(By.Id("idvalue"));
Here is how the relative locator in Selenium 4 is used to locate the element below the element we searched earlier:
1 1driver.findElement(with(By.tagName("tagName")).below(FirstElement));
The next set of WebElements on the page is identified using the above, below, toLeftOf, and toRightOf relative locators in Selenium 4.
Here is the code snippet that showcases the usage of relative locators in Selenium 4:
1 public class LocatorTests {
2 WebDriver driver;
3 String username = System.getenv("LT_USERNAME") == null ? "LT_USERNAME" : System.getenv("LT_USERNAME");
4 String accesskey = System.getenv("LT_ACCESS_KEY") == null ? "LT_ACCESS_KEY" : System.getenv("LT_ACCESS_KEY");
5 String gridURL = "@hub.lambdatest.com/wd/hub";
6
7 @BeforeTest
8 public void setup() throws MalformedURLException {
9 ChromeOptions browserOptions = new ChromeOptions();
10 browserOptions.setPlatformName("Windows 10");
11 browserOptions.setBrowserVersion("122.0");
12 HashMap<String, Object> ltOptions = new HashMap<String, Object>();
13 ltOptions.put("project", "Selenium Locator Demo");
14 ltOptions.put("w3c", true);
15 ltOptions.put("plugin", "java-testNG");
16 ltOptions.put("build", "Demonstration: Selenium Locator Demo on LambdaTest");
17 browserOptions.setCapability("LT:Options", ltOptions);
18
19 driver = new ChromeDriver();
20 driver = new RemoteWebDriver(new URL("https://" + username + ":" + accesskey + gridURL), browserOptions);
21
22 }
23
24 @Test
25 public void testRelativeLocator() {
26
27 driver.get("https://ecommerce-playground.lambdatest.io/index.php?route=product/manufacturer/info&manufacturer_id=8");
28
29
30 WebElement iMac = driver.findElement(By.linkText("iMac"));
31 WebElement iMacPriceViaBelow = driver.findElement(with(By.cssSelector("div.price> span")).below(iMac));
32 assertEquals(iMacPriceViaBelow.getText(), "$170.00");
33
34 WebElement fetchToTheRight = driver findElement(with(By tagName("h4")) toRightOf(iMac));
The credentials are confidential values that should not be hardcoded in the code. The following line of code will help set the Username
and Access Key using the environment variables. The gridURL helps connect the remote session to the LambdaTest cloud grid.
Next, we need to set the LambdaTest automation capabilities to set the platform, browser and its version, build name, test name, and
other mandatory options required for running the tests on the LambdaTest platform.
The following lines of code sets the capabilities for running the test on Chrome browser version 122.0 on the Windows 10 platform.
ChromeOptions class is used as we need to run the tests on the Chrome browser. Similarly, if we need to run the tests on Edge browser,
we can use EdgeOptions and likewise for other browsers. Finally, a new instance of RemoteWebDriver
(https://www.lambdatest.com/blog/selenium-remotewebdriver/) is created by supplying the username, accesskey, and gridURL
with the browserOptions variables.
The testRelativeLocator() method will run the test by locating the WebElements using the below, toRightOf, above, and toLeftOf relative
locators, as discussed in the test scenarios.
After all the tests are run successfully, the driver session will be closed when the driver.quit() statement is invoked. This statement will be
called after each test as the @AfterTest annotation of TestNG has been used above the tearDown() method.
Test Execution
The following screenshot shows the output of the test execution performed using IntelliJ IDE:
You can also use a combination of relative locators to locate the desired WebElement.
1 WebElement fetchwithmutipleRelative=driver.findElement(with(By.tagName("h4")).below(fetchviatoLeftOf).toRightOf(fetchviaabove));
The above code identifies an element below a given WebElement and to the right of the newly searched element.
Use a unique ID for element identification: The first and foremost reason to use a unique ID is that it makes it simpler
to identify a particular element. If you have two elements with the same ID, it becomes difficult to determine which
element you want to use in your scripts. This may lead to issues such as selecting an incorrect or non-existent
element. To avoid this, always assign a unique ID for each element you wish to utilize in your web application to avoid
this.
Avoid using IDs that change locations: Selenium WebDriver locators depend on IDs because they match the ID
attribute assigned by browsers, which is used as identifiers for each HTML tag on your page. The value of these IDs
remains static as long as the browser window remains open. However, if you close and reopen the browser, these
Start
values change their position dueFree Testing
to the -> (https://accounts.lambdatest.com/register)
fact that they now identify different objects on the page.
For example, if the locator is dependent on a single entity like class, name, id, etc., which, if changed, can be repaired, but complex
locators like By.XPath(“//div[@class=”class-form_6180″]/div[5]/h3”) may lead to frequent breakage if any of the div or the class name
(https://www.lambdatest.com)
changes.
So, while using locators in Selenium WebDriver, do not locate elements that depend on auto-generated values. This is one of the key
rules that one needs to keep in mind about locators in Selenium WebDriver for writing better automation code
(https://www.lambdatest.com/blog/8-actionable-insights-to-write-better-automation-code/).
Keep your locators short: Your locator should always identify the target element you want to click or locate, not other
elements on the same page. The benefit of this is that you’re reducing the chance of your script breaking because the
number of elements on a page has changed (and thus, where they appear in the HTML code). Also, if your locator is
short, it’s easier to see if it’s affecting more than one element.
Secondly, if you are trying to look out for multiple matches (using findElements()), ensure it matches all the desired elements you are
looking for.
Avoid elements that depend on auto-generated values: If you are using locators such as ID, CSS, and XPath,
Selenium WebDriver provides a way to navigate to elements through the browser’s address bar.
This is accomplished using the locateElement() or locateElementBy*() methods. You can navigate to any element on the page using the
browser’s address bar, locator parameters, and values, as well as this method. However, if you use IDs (e.g., “id=”tooltip””) as locators,
it might not work quite as you expect. This is because IDs are auto-generated and do not always change when we expect them to.
As a best practice, use locators such as CSS and XPath instead of IDs, as they never change their value. The second thing you should
do is watch those values after each run. So, if we want to locate an element with an ID of the tooltip using the browser’s address bar,
we should run and watch the values of those IDs to identify whether they are auto-generated.
Don’t use XPath or CSS Selector provided by the developer tools: Choosing locators in Selenium is an important step,
especially when you are new to it. There are many tips and tricks available on the web regarding this topic. However,
most suggest using XPath or CSS Selectors provided by the browser developer tools.
However, if you use XPath or CSS Selectors provided by the browser developer tools, your tests will not work if the source code
changes. To have stable tests, you should use locators independent of HTML structure.
Avoid using the locators that change dynamically on page refresh: While working on some websites, it can be
observed that the locators, such as ID or class name, change dynamically on page load or refresh. It should be noted
that in such situations, the ever-changing locators, i,e. IDs and class names should not be used.
Locators such as CSS Selector or XPath should be used here to avoid test flakiness (https://www.lambdatest.com/learning-
hub/flaky-test). Using these locators can help in creating more robust test scripts.
Avoid using XPaths heavily in the project: Many testers blindly keep on using the XPaths heavily in the project.
Testers make the mistake of adding test scripts containing XPath to locate the WebElement, which internally calls the
ID locator itself.
Use explicit waits: Explicit waits in Selenium WebDriver (https://www.lambdatest.com/blog/types-of-waits-in-
selenium/) should ensure that the WebElement is present and visible before the automated tests interact with that
WebElement. This can help in avoiding test flakiness.
Moreover, you can also leverage the SmartWait feature by LambdaTest as well. LambdaTest SmartWait executes a series of
actionability checks on webpage elements before executing any actions. These checks include verifying elements for visibility and
intractability to ensure they are ready for actions like clicking or typing.
Start Free Testing -> (https://accounts.lambdatest.com/register)
(https://www.lambdatest.com)
Conclusion
With this, we come to the end of the tutorial on Selenium locators. In this tutorial on locators in Selenium WebDriver, we first looked at
different ways of locating WebElements in DOM. We also looked at various locators and relative locators used in Selenium and ways to
locate elements using the ID, Name, Class, and attribute selectors.
Selenium locators can be used as a handy resource when you are performing Selenium automation testing. Now that you have learned
how to use locators and relative locators in Selenium WebDriver, you should be able to work with locators effectively. Hope this tutorial
has helped you learn everything there is to know about using locators in the Selenium WebDriver.
XPath is used to locate elements on a web page using the HTML Document Object Model (DOM)
structure.
Author’s Profile
(https://www.lambdatest.com/blog/author/mfaisalkhatri/)
Faisal Khatri
Faisal is a Software Testing Professional having 14+ years of experience in automation as well as manual testing. He is a QA, freelancer,
blogger and open source contributor. He loves learning new tools and technologies and sharing his experience by writing blogs.
Blogs: 39 (https://twitt
(https://www.linked
Related Articles
(https://www.lambdatest.com/blog/top-selenium-webdriver-commands-in-nunit-for-test-automation/)
Himanshu Sheth
January 30, 2025
(https://www.lambdatest.com/blog/author/hjsblogger/)
228011 Views
10 Min Read
(https://www.lambdatest.com/blog/css-gpu-acceleration/)
Mbaziira Ronald
January 22, 2025
(https://www.lambdatest.com/blog/author/mbaziira/)
74754 Views
18 Min Read
(https://www.lambdatest.com/blog/css-custom-fonts/)
Anurag Gharat
January 16, 2025
(https://www.lambdatest.com/blog/author/anuraggharat/)
89871 Views
19 Min Read
(https://www.lambdatest.com/blog/python-unittest-mock/)
Ini Arthur
January 15, 2025
(https://www.lambdatest.com/blog/author/ginjardev/)
100580 Views
20 Min Read Start Free Testing -> (https://accounts.lambdatest.com/register)
Selenium Python (https://www.lambdatest.com/blog/category/selenium-python/) | Automation (https://www.lambdatest.com/blog/category/automation/) |
Tutorial (https://www.lambdatest.com/blog/category/tutorial/) |
(https://www.lambdatest.com)
(https://www.lambdatest.com/blog/robot-framework-tutorial/)
Himanshu Sheth
January 6, 2025
(https://www.lambdatest.com/blog/author/hjsblogger/)
233660 Views
10 Min Read Start Free Testing -> (https://accounts.lambdatest.com/register)
Selenium Python (https://www.lambdatest.com/blog/category/selenium-python/) | Robot Framework (https://www.lambdatest.com/blog/category/robot-
framework/) | Tutorial (https://www.lambdatest.com/blog/category/tutorial/) |
(https://www.lambdatest.com)
(https://www.lambdatest.com/blog/selenium-cypress-canvas-automation/)
Himanshu Sheth
(https://www.lambdatest.com/blog/author/hjsblogger/)
161950 Views
29 Min Read Start Free Testing -> (https://accounts.lambdatest.com/register)
Selenium Tutorial (https://www.lambdatest.com/blog/category/selenium-tutorial/) | Automation (https://www.lambdatest.com/blog/category/automation/) |
Cypress Testing (https://www.lambdatest.com/blog/category/cypress-testing/) | Tutorial (https://www.lambdatest.com/blog/category/tutorial/) |
(https://www.lambdatest.com)
(https://accounts.lambdatest.com/login/google)
Start free with Start free with Email
Google (https://accounts.lambdatest.com/register)
Test on
Browser Automation
Resources
Company
Learning Hub
Cypress Tutorial
Selenium Tutorial (https://www.lambdatest.com/learning-
Playwright Tutorial Appium Tutorial
(https://www.lambdatest.com/selenium)
hub/cypress-tutorial) (https://www.lambdatest.com/playwright)
(https://www.lambdatest.com/appium)
More Learning Hubs
Jest Tutorial (https://www.lambdatest.com/learning-
(https://www.lambdatest.com/jest)
hub)
What’s New
Changelog
(https://changelog.lambdatest.com)
Deliver unparalleled digital experience with our Next-Gen, AI-powered testing cloud platform. Ensure exceptional user experience across all
devices and browsers.
(https://accounts.lambdatest.com/login/google)
Start free with Google Start free with Email (https://accounts.lambdatest.com/register)