Skip to content

This is a cucumber jvm implementation template using the optimus mobile automation framework. If you like it, star it, help spread the word.

Notifications You must be signed in to change notification settings

tvarchive/optimusTemplate

Repository files navigation

Optimus Template npm version Gitter chat

Optimus Template is the native framework for Optimus, designed to help you to get started with your tests in the swiftest time possible. Read more about Optimus on our wiki, for videos watch here

Pre-requisites

Getting started with Optimus

  • Step 1: Install the optimus-cli utilty
npm install -g optimus-cli
  • Step 2: Verify if your system is ready for using Optimus
$ optimus doctor
  • Step 3: Install if optimus doctor reported any missing dependencies.
$ optimus setup
  • Step 4a: (Only for macOS) Install Xcode manually from App store or via Downloads page and move it to Applications.

  • Step 4b: (Only for macOS) If you have multiple versions of Xcode installed on your machine then use this command in your in terminal:
    sudo xcode-select --switch /Applications/Xcode.app/Contents/Developer where xcode is the name of Xcode installed on your machine or the Xcode which you want to use with optimus.

  • Step 5: Configure Mongodb
    If you have installed mongodb using optimus doctor command. You will have to manually create /Data/db folder.

    Here is how you do it in terminal

sudo mkdir -p /data/db
sudo chmod 777 /data/db
try running mongod command in your terminal now, mongo instance should be up and running on port 27017
  • Step 6: To create a new Optimus project.
$ optimus new <project_name>
  • Step 7: Once the project is created you can import the project into your favourite IDE. However we love IntelliJ though.

Import Project

Run

Optimus runs your tests in parallel by default. Just connect the devices you need coverage on and choose between one of the following modes to trigger your test run

  1. Fragmentation
  2. Distribution

Suppose you have 5 feature files in your project and 5 devices connected, now in
Fragmentation: All 5 features will run on all 5 devices.
 
Distributuion: one feature will run on one device.

Your new OptimusTemplate project gets created with a sample test for an example app HelloOptimus you can run your project as shown below.

Step 1: Connect devices(Android or IOs) or create an Android Emulator.

Step 2: Open your favourite terminal and navigate to the project folder.

Step 3: Check for Android Devices or Emulators by running

gradle runFragmentation -DtestFeed=HelloOptimusAndroid -Dtags=@helloOptimus

Note: You will see that HelloOptimus app is launched on all the connected Android Devices and emulators.

Step 4: Check for IOS by running

gradle runFragmentation -DtestFeed=HelloOptimusIOS -Dtags=@helloOptimus

Note: You will see that HelloOptimus app is launched on a IPhone6 Simulator.

First test

With optimus you can create tests either by creating custom steps or by using Generic Steps or a mix of both. You can learn more about the test which ran on your devices by following our Android Tutorial or IOS Tutorial

Below are a few sample projects leveraging the power of Optimus framework

Contact

Our FAQ covers most of the common issues. In case the issue you are facing is not available, you can reach out to us at [email protected]

About

This is a cucumber jvm implementation template using the optimus mobile automation framework. If you like it, star it, help spread the word.

Topics

Resources

Stars

Watchers

Forks

Packages

No packages published