--- tags: English --- # Cross-Browser Testing (Manual Setup) SideeX supports testing your recorded test cases over various modern browsers, even on Android, by performing cross-browser testing through Webdrivers and Selenium Standalone Server/Appium. This document introduces how to perform cross-browser testing by setting up the environment manually. ## Desktop Browsers 1. Install [Java SE](https://www.oracle.com/technetwork/java/javase/downloads/index.html) 2. Create a folder, for example, `selenium_server` 3. Download [Selenium Server](https://www.selenium.dev/downloads/) (Tested version: 3.141.59) 4. Put `selenium-server-standalone-{version}.jar` in `selenium_server` 5. Put the drivers that you'd like to test in `selenium_server` >#### Here are the browsers currently supported by SideeX >- [Chrome](#Chrome) >- [Firefox](#Firefox) >- [Edge](#Edge) >- [Opera](#Opera) >- [Safari](#Safari) #### Chrome > Tested version: v74 on Windows and Mac 1. Download [chromeDriver](http://chromedriver.chromium.org/downloads) for your corresponding chrome version 2. Unzip the downloaded file and put the chrome driver file in `selenium_server` #### Firefox > Tested version: v67 on Windows and Mac 1. Download [geckodriver](https://github.com/mozilla/geckodriver/releases) and find your corresponding OS version 2. Unzip the downloaded file and put the gecko driver file in `selenium_server` #### Edge > Tested version: 81.0.416.53 on Windows 1. Download [msedgedriver](https://developer.microsoft.com/en-us/microsoft-edge/tools/webdriver/#downloads) and find your corresponding browser version 2. Unzip the downloaded file and put the edge driver file in `selenium_server`. Note that, for the Selenium Server 3.x, the file name of the driver should be renamed to `MicrosoftWebDriver.exe`. <!-- #### Edge Legacy > Tested version: EdgeHTML 17.17134 on Windows 1. Download [msedgedriver](https://developer.microsoft.com/en-us/microsoft-edge/tools/webdriver/#downloads) and find your corresponding browser version :::warning Webdriver for Edge version above 18 is now a Windows [Feature on Demand](https://developer.microsoft.com/en-us/microsoft-edge/tools/webdriver/#downloads). ::: 2. Unzip the downloaded file and put the edge driver file in `selenium_server` --> #### Opera > Tested version: v60.0.3255.143 on Mac 1. Download [operadriver](https://github.com/operasoftware/operachromiumdriver/releases?fbclid=IwAR2DEj4cSrsegoKWXkT0yge6Prq6aaVVVWnJDn4bRSrrmwyU7ujfTTBuKn0) and find your corresponding OS version 2. Unzip the downloaded file and put the opera driver file in `selenium_server` #### Safari > Tested version: v13.0.2 on Mac 1. Open terminal to run `safaridriver --enable` and enter your user password. 2. Open Safari and enable the **Develop** menu by clicking **Safari** > **Preferences** > **Advanced**. Select the **Show Develop Menu** check box. 3. Enable **Remote Automation** by clicking the **Develop** menu and then **Allow Remote Automation**. 6. Open SideeX and press the setting button in the upper right corner 7. Toggle **Playback through WebDriver** ![](https://i.imgur.com/U1FFAfS.png) 8. Fill in **Selenium Server URL** with `localhost` and **Port** with `4444` (You can change `localhost` to the IP where your selenium server runs) 9. Fill in **browerName** with `chrome`, `firefox`, `MicrosoftEdge`, `opera` or `safari`, and leave the other fields blank![](https://i.imgur.com/K3tCJWD.png) 10. Open terminal and change the path to the `selenium_server` folder. Run `java -jar selenium-server-standalone-{version}.jar` 11. If you are using MAC OS, grant permission to your drivers by going into **System Preferences** -> **Security & Privacy**, and allow the driver to run. Another way to grant permission is by running the following commands in the terminal under the same path as the previous step: - For Chrome, run `spctl --add --label 'Approved' chromedriver` - For Firefox, run `spctl --add --label 'Approved' geckodriver` - For Microsoft Edge, run `spctl --add --label 'Approved' MicrosoftWebDriver` - For Opera, run `chmod 755 operadriver` - Safari does need additional permissions 12. Play the test case. A Chrome, Firefox, Edge, Opera or Safari window will be automatically triggered by the selenium server ## Mobile Browsers > Here are the mobile Platforms currently supported by SideeX > - [Android](#Android) > - iOS (Coming soon) ### Android > Tested with Google Pixel 3 on Windows 1. Install [Appium](https://appium.io/) 2. Install [Java](https://www.oracle.com/technetwork/java/javase/downloads/index.html) 3. Download [Chromedriver](https://chromedriver.chromium.org/downloads) for your corresponding chrome version 4. Download [SDK Platform Tools](https://developer.android.com/studio/releases/platform-tools) 5. Download [Android Build Tools](https://androidsdkmanager.azurewebsites.net/Buildtools) :::warning This is an **unofficial** website, but the links it provided are from offical repository. ::: 6. Extract the `SDK Platform Tools` and the `Android Build Tools` to a folder, for example, namely `android_node` <!-- 7. Open **Environment Variable** setting in your computer and set a new variable `ANDROID_HOME` with `/path/to/android_node` 8. Open **Environment Variable** setting in your computer and set a new variable `JAVA_HOME` with `/path/to/JAVA/jrex.x.x_x` 9. Append `%ANDROID_HOME%` to `PATH` in **Environment Variable** setting 10. Append `%JAVA_HOME%` to `PATH` in **Environment Variable** setting --> 7. Turn on **USB debugging** in **Developer options** in your Android phone and plug in your phone to the computer :::info If you need to test with the **Android Emulator**, download [Android Studio](https://developer.android.com/studio) and use [**Android Virtual Device**](https://developer.android.com/studio/run/managing-avds) feature inside to create a virtual machine, or install any other Android emulator software with `USB debugging` feature enabled. ::: 9. Open Appium and click on `Edit Configurations` at the bottom, in the field of `ANDROID_HOME` enter `/path/to/android_node`, and in the field of `JAVE_HOME`, enter `/path/to/JAVA/jrex.x.x_x`. Click `Save and Restart`. 10. Once Appium is restarted, select `Advanced`, scroll down to the `Android` section and enter your chromedriver's path in `Chromedriver Binary Path`. Click on `Start Server` to start server 13. Open SideeX settings. In the `WebDriver Settings` section and click on `Add New Service`. Select `Appium` in `Type`, fill in `Server URL` with `localhost`, fill in `Port` with `4723` (This is the default port of Appium, change this value if you change your Appium port) , and click on `Add New Browser`. Fill in **browserName**, **platfromName**, **deviceName**, **automationName** with `chrome`, `android`, `<YOUR_PHONE_NAME>`, and `UiAutomator2` respectively![](https://i.imgur.com/szfqrl2.png) 16. Toggle `Playback through WebDriver` in the `Basic Setting` section of SideeX Settings 17. Start the Playback with SideeX