Can appium automate desktop web browsers?

I’ve long searched for a “one language to rule them all” automation framework (besides robot framework) that would allow our QA department to test our cross-platform (web, android native, iOS native) application with a single language. When I first came across appium, I thought you had solved the issue. However, I can’t seem to find any mention of driving the web (on desktop, not on mobile web browser). Is it possible? if so, how?

If not, why not? Why did the developers choose not to support browser automation on the desktop platform? There would be great benefit to being able to use the same scripting language (php, python, ruby, etc – not cucumber) across all 3 platforms. What you’ve done for mobile is fantastic, but the web needs to be included. :smile:

1 Like

The web is already manitained in Selenium project. It’s the testing framework’s responsibility to combine those tools and others in one place :smile:

I guess I’m just not clear on what layer Appium is, or where it fits in. Is it not a testing framework? If Appium is using WebDriver to drive phones, why can’t it use WebDriver to drive browsers?

I like very much that Appium allows you to write all your tests in one language of your choosing. I also like that it allows you to share tests between platforms. Obviously, the app interface between web and mobile would almost always be different, so there would be little re-use of tests between web and mobile. But just being able to write tests in the same language would be monumental.

I’m clearly missing something.

As I mentioned before; Automating desktop web browsers is maintained by Selenium project.

It’s not a testing framework. It’s a testing tool. An example of testing framework would be Robot Framework.


I am testing a mobile web app using appium .
One of my test cases requires me to check if a user can login simultaneously from 2 different devices.

Now one of the login action is handled on the mobile to check the other i am simply using an instance of Firefox Driver i.e. running the firefox browser on my desktop to verify the test.

The difference being i need not provide any set of capabilities to run the firefox browser unlike running chrome on my device .

Hope this helps,

Appium is an open source project that can control and automate iOS and Android devices.

Selenium is an open source project that can control and automate Desktop Web Browsers.

Both Appium and Selenium use the same protocol (The WebDriver API) and use the same client libraries to control target platforms.

So you can use one language (pick any language) and one client library (like the Appium java client, or the Appium python client, or any other language) and use the same script to control both browsers and mobile devices.
Just the mobile devices are controlled by an Appium server and the desktop browsers are controlled by a Selenium server.

1 Like

We have a mobile app that also has settings that come from a website.

One such example is “Allow user to login from mobile device” which is set by the admin using the web account.

I was hoping to have such a test.
Attempt to log in via the mobile app and see if the test passes.
Go to the website and change the mobile access permissions.
Attempt to log in via the mobile app again to see if the permissions work.

This would require Appium to call the mobile app to test and also call the website on a desktop to make the necessary changes.

I was also hping to use a common language for the same and automate entire product testing from the mobile apps to the website.

1 Like