Skip to content
This repository has been archived by the owner on Mar 6, 2024. It is now read-only.

Testing Experiments

Stefan Arentz edited this page Jan 31, 2022 · 1 revision

Note that this documentation should be moved to https://experimenter.info/ios-preview-testing/

Setting up Focus for Experiment Development & Testing

Testing Experiments on TestFlight or Release builds

If you want to test an experiment in an official TestFlight or Release build, you do not have to do anything special and you can skip to the Testing Options through the Internal Settings section. Both TestFlight and Release builds are properly setup to talk to the Nimbus prod and stage servers.

Implementing/Testing Experiments from Xcode

Use these instructions if you are implementing an experiment or if you like to test an experiment by running a build inside Xcode.

Instructions on how to build and run Focus can be found at TODO.

Once you have a local build and you can run it in either the Simulator or on a real device, you should update the project's Info.plist file to and make sure it has the following entries:

        <key>NimbusServerURL</key>
        <string>https://firefox.settings.services.mozilla.com</string>
        <key>NimbusStagingServerURL</key>
        <string>https://settings.stage.mozaws.net</string>
        <key>NimbusAppName</key>
        <string>focus_ios</string>
        <key>NimbusAppChannel</key>
        <string>release</string>

Do not commit the change to Info.plist. These values should not be in the repository.

Testing Options through the Internal Settings

To facilitate development and testing of experiments, Focus has a secret menu where you can change how Nimbus works. This menu is hidden but you can activate it by going to the About Focus screen and then tapping five times on the logo. Fully close the settings and the next time you open them, there should be a Internal Settings section at the bottom.

You can make the following changes:

  • You can change server Nimbus environment that Focus talks to (Prod or Stage)
  • You can make Nimbus look in the Preview collection instead of the Live collection
  • You can see all the experiments that are available and opt-in or opt-out of a specific branch

Important: Changing any of the above settings will require a full restart of the app. You will have to stop the app fully by swiping it away in the iOS app switcher and then start it again.