Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to automate Firefox Mobile with Selenium?

I need to run Selenium tests in Firefox Mobile. Could anybody describe an easy way to do this? My investigation shows that:

  1. Firefox Mobile is not supported in Appium (one, two).
  2. Firefox Desktop has built-in Responsive Design Mode like shown on the picture:responsive-ui-mode
  3. It seems that Geckodriver does not support Firefox mobile. Compared to Chromedriver Geckodriver has no mobile-specific code.
  4. There is (or there was) some way to open mobile emulation using Firefox prefs. It works by switching Firefox from CONTENT to CHROME context using Marionette API calls and then pressing keyboard shortcut with Selenium.

Did not manage to succeed with any of these solutions. Any idea how to automate Firefox Mobile?

like image 496
vania-pooh Avatar asked Oct 16 '17 13:10

vania-pooh


1 Answers

You can try to emulate it on the FireFox Desktop app by using Geckodriver and changing User Agent and device size (width and height). Here is an example in Python 3:

user_agent = "Mozilla/5.0 (iPhone; U; CPU iPhone OS 3_0 like Mac OS X; en-us) AppleWebKit/528.18 (KHTML, like Gecko) Version/4.0 Mobile/7A341 Safari/528.16"

profile = webdriver.FirefoxProfile() 
profile.set_preference("general.useragent.override", user_agent)
driver = webdriver.Firefox(profile)
driver.set_window_size(360,640)
like image 78
Hawlett Avatar answered Sep 26 '22 00:09

Hawlett