- Libs folder: Place for self made libraries.
- Tests folder: Contains test files. Resource
${PROJECTROOT}${/}resources${/}common.robotshould be included under*** settings ***on each test file so they can use common resources. Write all test files under this folder. - Resources folder: Contains generic keywords and settings (common.robot), also other files required by the tests. Add all common keywords to common.robot and add all required extra features to this folder.
- pip install -r ./resources/requirements.txt
There are two runner scripts for running the tests locally, run_android.py and run_ios.py
python run_<OS>.pyRuns the whole suite. For examplepython run_android.pyruns all the Android tests.python run_<OS>.py -i <tag name>Runs tests that contains[Tags] <tag name>python run_<OS>.py --test <name>Runs tests that contains name<name>in them.python run_<OS>.py --suite <name>Runs the suite containing<name>.python run_<OS>.py --dryrunRuns everything as a dryrun-x <xunit_output_file>command line option can be used to generate report in xUnit compatible XML format. So for examplepython run_<OS>.py -x xunitwill run all the test and createxunit.xmlfile relatively to the output directory of other test results.
-
From
common.robotchoose the correct${APP_ANDROID}or${APP_IOS}path by uncommenting the one withapplication.apkorapplication.ipaand commenting out other paths. -
create-test-zip-android.shandcreate-test-zip-ios.shwill create .zip files containing all necessary files for cloud execution. Scripts outputtests-robot-android.zipandtests-robot-ios.zipfiles that can be uploaded to Testdroid Cloud for test execution. -
By default the tests will be run as server-side Appium and the driver is configured to use
localhostaddress as:${REMOTE_URL} http://localhost:4723/wd/hub -
Framework can be configured also to run the tests as client-side Appium. To do this, the
localhostaddress has to be replaced withappium.bitbar.com. Also following additional capabilities have to be added:testdroid_usernametestdroid_passwordtestdroid_targettestdroid_projecttestdroid_testruntestdroid_devicetestdroid_appBundleID
More information about desired capabilities for client-side Appium can be found from Testdroid Appium Documentation