Skip to main content

Mobile Web Automation Testing On Real Devices


Mobile web automation involves testing websites or web apps on real mobile devices like Android and iOS. Testing the appearance and performance of websites and web apps on a real device ensures that the test runs on real-world conditions, has better performance, and improves test coverage (across devices).

LambdaTest allows you to perform mobile web automation via Appium on a wide range of real Android and iOS devices. You can test on mobile devices from a wide range of OEMs like Samsung, Apple, Xiaomi, and more.

Here are the pre-requisites for performing mobile web automation on real devices.

Note: As of now, Mobile web automation on real devices is launched in the Beta phase. To access this feature, contact LambdaTest Support.

Before automating mobile web, you will need to set up the environment. Let's perform mobile web automation with Python.

  1. Download the latest version of Python.
  2. Install the Appium dependency by running the following command from the CMD terminal.
pip install Appium-Python-Client

Performing Mobile Web Automation On Real Devices#


To test on a real mobile device, you need to pass the below capability in your test scripts.

'isRealMobile': True

You can also add the capability using the Desired Capabilities Generator.

Image

In the below Python test script, we will take an example of our sample ToDo app. We will check two checkboxes of the list and add another item to the list. The test is performed on iPhone 11 with platform version iOS 13.

//todo.py
#!/usr/local/bin/python# -*- coding: utf-8 -*-import timefrom appium import webdriver
desired_cap = {    'platformName': 'iOS',  'platformVersion': '13',  'deviceName':"iPhone 11",  'nativeWebScreenshot':True,  'build': 'Demo',  'isRealMobile' : True,// real mobile device capability  'console': True,       'visual': True,  'network': True,  'tunnel' : False,  "newCommandTimeout": 300}    url = "https://LT_USERNAME:[email protected]/wd/hub"driver = webdriver.Remote(desired_capabilities = desired_cap, command_executor = url)
driver.get("https://lambdatest.github.io/sample-todo-app/")time.sleep(2)
list1 = driver.find_element_by_xpath("//input[@name='li1']")list1.click()time.sleep(1)
list2 = driver.find_element_by_xpath("//input[@name='li2']")list2.click()time.sleep(1)
inputfield = driver.find_element_by_id("sampletodotext")inputfield.click()inputfield.send_keys("item 1")driver.hide_keyboard()time.sleep(1)
driver.execute_script("document.getElementById('addbutton').click();")time.sleep(1)
inputfield = driver.find_element_by_id("sampletodotext")inputfield.click()inputfield.send_keys("item 2")driver.hide_keyboard()time.sleep(1)
driver.execute_script("document.getElementById('addbutton').click();")time.sleep(5)
driver.quit() 

In the below test snippet, you will need to add your LambdaTest Username and LambdaTest Access Key. You can get them from the LambdaTest dashboard. In the Hub URL, we have added a beta prefix (beta-hub.lambdatest.com/wd/hub).

url = "https://LT_USERNAME:[email protected]/wd/hub"

Execute the below command in the terminal to run the test.

python todo.py

Visit the LambdaTest Automation Dashboard, you’ll find the complete mobile web automation test details along with the REAL DEVICE (BETA) label as highlighted below.

Image

That’s all! you have successfully executed the mobile web automation test on real devices. In case you have any questions or need any additional information, you could reach out at our 24X7 Chat Support or mail us directly at [email protected].