I got a work from a client on web automation. But everything was working on mobile browser. No matter what way I try, I couldn't get it to work on my desktop browser. Then I found that I can simulate mobile web browsers using chrome webdriver for Selenium. I would like to share this with you, in case any of you are having the same problem.
ChromeDriver Official Website This is the website where I got my solution.
I am using Java language for my work. So I am gonna write the example on Java.
Simulating Google Nexus 5
import org.openqa.selenium.WebDriver; import org.openqa.selenium.chrome.ChromeDriver; import org.openqa.selenium.chrome.ChromeOptions; import org.openqa.selenium.remote.DesiredCapabilities; import java.util.HashMap; import java.util.Map; public class ChromeMobileDemo { public static void main(String[] args) { System.setProperty("webdriver.chrome.driver", "tools\\chromedriver.exe"); MapmobileEmulation = new HashMap (); mobileEmulation.put("deviceName", "Google Nexus 5"); Map chromeOptions = new HashMap (); chromeOptions.put("mobileEmulation", mobileEmulation); DesiredCapabilities capabilities = DesiredCapabilities.chrome(); capabilities.setCapability(ChromeOptions.CAPABILITY, chromeOptions); WebDriver driver = new ChromeDriver(capabilities); driver.get("https://www.google.com"); // wait 60 seconds before closing the window try { driver.wait(60000); } catch (InterruptedException e) { // do nothing } driver.close(); } }
Simulating iPhone 6
Just change mobileEmulation.put("deviceName", "Google Nexus 5") line to mobileEmulation.put("deviceName", "iPhone 6");
Simulate Other devices
You can select any device that you have on your Chrome's Developer Settings. Just put the same of the device.
No comments:
Post a Comment