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.
Client Side Execution
The client-side execution is Appium testing on local machine against a
device connected to your computer or to a device in the cloud. Despite
you run the 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 there needs to be an open
connection from your machine to our cloud for the whole duration of the
test. There are additional
`testdroid_* desired capabilities that allow for additional configurations of your client side Appium tests
when run against Bitbar cloud.
There are examples on Github in different programming languages to help set up the environment and run your first tests.
Server Side Execution
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 Bitbar Cloud dashboard. This provides a much easier and robust way to start, manage and review tests. All test assets and testing is done 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 Testing Desired Capabilities
Bitbar has a set of own 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 the Bitbar Testing cloud.
Requirements for .ipa
Here is the procedure to create your iOS mobile application (.ipa files) to run your app in Bitbar Testing.