Features

Upload your App

In order to run tests against your mobile app, our devices need to be able to download your app.
There are two ways to configure your tests to do this:

  • Upload your app to TestingBot Storage: our private upload servers.
  • Specify an HTTP or HTTPS url to the app you uploaded on a public internet website.

TestingBot Storage

With TestingBot Storage, you can upload your app to our servers.
The advantage of this is that your tests will start faster, as the device can download the app from our internal network, instead of the public internet.

To get started, simply submit your app to our API:

$ curl -X POST "https://api.testingbot.com/v1/storage" \
-u key:secret -F "file=@/path/to/app/file/Application-debug.apk"

This call will return a unique identifier for your app ({"app_url": "tb://..."}), which you can use in the desired capabilities (see example below).

More information regarding this API call and other similar calls (update uploaded file, delete uploaded file, list uploaded files) are available in our API documentation.

Note: uploads to our TestingBot Storage are automatically deleted after 62 days.

#!/usr/bin/env ruby
require 'rubygems'
require 'appium_lib'

caps = {}
caps['build'] = 'Ruby Appium Sample'
caps['name'] = 'single_test'
caps['deviceName'] = 'iPhone 12'
caps['platformName'] = 'iOS'
caps['version'] = '14.2'
caps['app'] = 'tb://...' # specify the link to your app here

appium_driver = Appium::Driver.new({
    'caps' => caps,
    'appium_lib' => {
        :server_url => "https://API_KEY:API_SECRET@hub.testingbot.com/wd/hub"
    }}, true)
driver = appium_driver.start_driver

wait = Selenium::WebDriver::Wait.new(:timeout => 30)
driver.find_element(:name, "inputA").send_keys 5
driver.find_element(:name, "inputB").send_keys 10
driver.quit

Public Internet

If you have your app available on a public website, you can specify this in the desired capabilites:

#!/usr/bin/env ruby
require 'rubygems'
require 'appium_lib'

caps = {}
caps['build'] = 'Ruby Appium Sample'
caps['name'] = 'single_test'
caps['deviceName'] = 'iPhone 12'
caps['platformName'] = 'iOS'
caps['version'] = '14.2'
caps['app'] = 'https://...' # specify the link to your app here

appium_driver = Appium::Driver.new({
    'caps' => caps,
    'appium_lib' => {
        :server_url => "https://API_KEY:API_SECRET@hub.testingbot.com/wd/hub"
    }}, true)
driver = appium_driver.start_driver

wait = Selenium::WebDriver::Wait.new(:timeout => 30)
driver.find_element(:name, "inputA").send_keys 5
driver.find_element(:name, "inputB").send_keys 10
driver.quit