Skip to content

Getting Started

Vladislav Alekseev edited this page Sep 22, 2021 · 2 revisions

Below is a rough order of things to do to get started with Emcee.

  1. Build Emcee binary

    • git clone https://github.com/avito-tech/Emcee.git
    • cd Emcee
    • make build
    • binary will be built into .build/debug/Emcee - Emcee file
  2. Prepare web file server
  3. Prepare your machines that will execute tests: setup ssh authentication, install Xcode and libssh2
  4. Generate queue_server_configuration.json and upload it to the file server
  5. Upload Emcee binary to the file server
  6. Write CI code that will fetch Emcee binary
    • curl -O Emcee http://example.com/binary/Emcee
    • chmod +x Emcee
  7. Write code to build your project using xcodebuild build-for-testing command
  8. Write code to ZIP and upload build artifacts, including all xctest bundles as individual archives, to the web file server
  9. Write code to generate testargfile.json for Emcee without tests array (to make runtime dump of the test bundle using Emcee)
  10. Write code to get all tests from your xctest bundles using Emcee dump command. Read more about test discovery.
  11. Write code to generate testargfile.json for Emcee with all tests that you want to run
  12. Write code to run tests on Emcee using Emcee runTestsOnRemoteQueue command.

Collecting Test Run Results

Please read about using plugins. For example, the flow would be:

  • On each worker, after all tests from bucket finish, your plugin will upload results to a server (e.g. Allure)

  • After Emcee runTestsOnRemoteQueue exists, your server will have all results stored.

Credits

Huge thanks to EvgenyIv96 for preparing this guide.