Appium is a mobile UI testing framework supporting cross-platform testing of native, hybrid, and mobile-web apps for iOS and Android. Appium enables you to execute your tests on a mobile device irrespective of the device OS. This is because the framework is basically a wrapper that translates Selenium Webdriver commands into UIAutomation (iOS) or UIAutomator (Android) commands depending on the device type.
Typically, testing is started with developing tests locally running them using the Appium client against a device. Once the tests work on one device, it’s time to move testing against multiple devices in the cloud. Here, tests are executed in parallel against all chosen devices.
The client-side execution is Appium testing on a local machine against a device connected to your computer or to a device in the cloud. Despite the fact that you run tests in our infrastructure and on our devices, the control over the test execution is on your side and you see logs, screenshots, etc. on your machine. This approach allows you to run one test against one device at a time. The downside is that there needs to be an open connection from your machine to our cloud for the whole duration of the test. There are additional
`bitbar_*desired capabilities that allow additional configurations of your client-side Appium tests when they are run against the BitBar Cloud.
There are examples on GitHub in different programming languages to help set up the environment and run your first tests.
In server-side execution, you upload both your application and test suite to BitBar Testing Cloud, and then select the device group and possible additional configurations for the test run. Test execution is started in BitBar Cloud in parallel with all the devices in the selected group as they are available. Test results and all related artifacts (logs, screenshots, video recordings, etc.) are stored and visible in the BitBar Cloud dashboard. This provides a much easier and robust way to start, manage, and review tests. All test assets are stored and testing is performed in one place.
When using server-side Appium execution, you can run standard Appium tests on hundreds of devices in parallel without any need for changes on the client side.
The following picture illustrates the difference between client-side and server-side executions:
Depending on your test machine (PC, Mac, or Linux) and the tested app’s environment (Android or iOS), Appium setup is different. Our setup guide is a good starting point.
Bitbar has its own set of desired capabilities that are used for user identification and device selection in BitBar Testing Cloud. These are required capabilities, and tests will not run without them set if you upload the tests via API to BitBar Testing Cloud.
Here is the procedure to create your iOS mobile application (.ipa files) to run your app in BitBar Testing.