{"id":13907858,"url":"https://github.com/tvarchive/optimusTemplate","last_synced_at":"2025-07-18T06:31:48.376Z","repository":{"id":68752232,"uuid":"78106968","full_name":"tvarchive/optimusTemplate","owner":"tvarchive","description":"This is a cucumber jvm implementation template using the optimus mobile automation framework. If you like it, star it, help spread the word.","archived":false,"fork":false,"pushed_at":"2019-09-12T08:25:16.000Z","size":102829,"stargazers_count":66,"open_issues_count":10,"forks_count":23,"subscribers_count":22,"default_branch":"master","last_synced_at":"2024-04-12T15:07:38.833Z","etag":null,"topics":["android","appium","optimus","optimus-framework"],"latest_commit_sha":null,"homepage":"http://docs.testvagrant.com","language":"Objective-C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/tvarchive.png","metadata":{"files":{"readme":"Readme.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null}},"created_at":"2017-01-05T11:22:35.000Z","updated_at":"2024-04-15T11:20:07.692Z","dependencies_parsed_at":"2023-04-17T23:15:42.433Z","dependency_job_id":null,"html_url":"https://github.com/tvarchive/optimusTemplate","commit_stats":null,"previous_names":[],"tags_count":2,"template":false,"template_full_name":null,"purl":"pkg:github/tvarchive/optimusTemplate","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tvarchive%2FoptimusTemplate","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tvarchive%2FoptimusTemplate/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tvarchive%2FoptimusTemplate/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tvarchive%2FoptimusTemplate/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/tvarchive","download_url":"https://codeload.github.com/tvarchive/optimusTemplate/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tvarchive%2FoptimusTemplate/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":265710565,"owners_count":23815379,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["android","appium","optimus","optimus-framework"],"created_at":"2024-08-06T23:02:14.444Z","updated_at":"2025-07-18T06:31:48.368Z","avatar_url":"https://github.com/tvarchive.png","language":"Objective-C","funding_links":[],"categories":["HarmonyOS"],"sub_categories":["Windows Manager"],"readme":"# Optimus Template  [![npm version](https://badge.fury.io/js/optimus-cli.svg)](https://badge.fury.io/js/optimus-cli) [![Gitter chat](https://badges.gitter.im/optimus_support/optimus.png)](https://gitter.im/optimus_support/optimus)\n\nOptimus Template is the native framework for Optimus, designed to help you\nto get started with your tests in the swiftest time possible. Read more about Optimus on our [wiki](https://github.com/testvagrant/optimusTemplate/wiki), for videos watch [here](https://www.youtube.com/channel/UCy1OVZVChPLmnPySRhuaSrw) \n\n### Pre-requisites\n* [HomeBrew](https://brew.sh/), [XCode 8.2 or above](https://developer.apple.com/xcode/) - Mac\n* [LinuxBrew](http://linuxbrew.sh/) - Linux\n* [Chocolatey](https://chocolatey.org/) - Windows\n\n\n\n### Getting started with Optimus\n\n* **Step 1**: Install the \u003cb\u003eoptimus-cli\u003c/b\u003e utilty\n\n```\nnpm install -g optimus-cli\n```\n\n* **Step 2**: Verify if your system is ready for using Optimus\n\n```\n$ optimus doctor\n```\n\n* **Step 3**: Install if `optimus doctor` reported any missing dependencies.\n\n```\n$ optimus setup\n```\n* **Step 4a**: \u003cb\u003e(Only for macOS)\u003c/b\u003e Install Xcode manually from App store or via [Downloads page](https://developer.apple.com/download/) and move it to Applications.\n\n* **Step 4b**: \u003cb\u003e(Only for macOS)\u003c/b\u003e If you have multiple versions of Xcode installed on your machine then use this command in your in terminal:    \n`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.\n\n* **Step 5**: \u003cb\u003eConfigure Mongodb\u003c/b\u003e     \nIf you have installed mongodb using optimus doctor command. You will have to manually create /Data/db folder.\n\n    Here is how you do it in terminal\n```\nsudo mkdir -p /data/db\nsudo chmod 777 /data/db\n```\n    try running mongod command in your terminal now, mongo instance should be up and running on port 27017\n* **Step 6**: To create a \u003cb\u003enew Optimus project\u003c/b\u003e.\n\n```\n$ optimus new \u003cproject_name\u003e\n```\n* **Step 7**: Once the project is created you can import the project into your favourite IDE. However we love [IntelliJ](https://github.com/testvagrant/optimusTemplate/wiki/Import-Optimus-Project---Intellij) though. \n\n### Import Project\n* [IntelliJ](https://github.com/testvagrant/optimusTemplate/wiki/Import-Optimus-project-using-Intellij)\n* [Eclipse](https://github.com/testvagrant/optimusTemplate/wiki/Import-Optimus-project-using-Eclipse)\n\n\n### Run\n\nOptimus 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\n1. `Fragmentation`      \n2. `Distribution`    \n\nSuppose you have 5 feature files in your project and 5 devices connected, now in     \n`Fragmentation`: All 5 features will run on all 5 devices.     \n![](http://i.imgur.com/dGtTjEY.jpg)      \n`Distributuion`: one feature will run on one device.        \n![](http://i.imgur.com/7AhgPzi.jpg)     \n \n\nYour new OptimusTemplate project gets created with a sample test for an example app `HelloOptimus` you can run your project as shown below.\n\n#### Step 1: Connect devices(Android or IOs) or create an Android Emulator.\n#### Step 2: Open your favourite terminal and navigate to the project folder.\n#### Step 3: Check for Android Devices or Emulators by running\n    gradle runFragmentation -DtestFeed=HelloOptimusAndroid -Dtags=@helloOptimus\nNote: You will see that HelloOptimus app is launched on all the connected Android Devices and emulators.\n#### Step 4: Check for IOS by running\n    gradle runFragmentation -DtestFeed=HelloOptimusIOS -Dtags=@helloOptimus\nNote: You will see that HelloOptimus app is launched on a IPhone6 Simulator. \n\n### First test\nWith optimus you can create tests either by creating custom steps or by using [Generic Steps](https://github.com/testvagrant/optimusTemplate/wiki/Generic-Steps) or a mix of both.\nYou can learn more about the test which ran on your devices by following our [Android Tutorial](https://github.com/testvagrant/optimusTemplate/wiki/My-First-Android-Test) or [IOS Tutorial](https://github.com/testvagrant/optimusTemplate/wiki/My-First-IOS-Test)\n\n### Below are a few sample projects leveraging the power of Optimus framework\n* [Swiggy](https://github.com/testvagrant/optimus_SwiggyTests)\n* [Kik](https://github.com/testvagrant/optimus_KikTests)\n* [Paytm](https://github.com/testvagrant/optimus_PaytmTests)\n* [Scripbox](https://github.com/testvagrant/optimus_ScripboxTests)\n\n### Contact\nOur [FAQ](https://github.com/testvagrant/optimusTemplate/wiki/FAQ) covers most of the common issues. In case the issue you are facing is not available, you can reach out to us at optimus@testvagrant.com\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftvarchive%2FoptimusTemplate","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftvarchive%2FoptimusTemplate","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftvarchive%2FoptimusTemplate/lists"}