{"id":28145090,"url":"https://github.com/goraved/typhon-mobile","last_synced_at":"2026-05-19T05:39:53.411Z","repository":{"id":53869464,"uuid":"228078009","full_name":"Goraved/Typhon-Mobile","owner":"Goraved","description":"Simple appium framework for the mobile automation tests","archived":false,"fork":false,"pushed_at":"2020-01-09T15:01:20.000Z","size":19,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2023-07-09T15:41:18.408Z","etag":null,"topics":["allure","android","appium","ios","page-object","pytest","python"],"latest_commit_sha":null,"homepage":null,"language":"Python","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/Goraved.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2019-12-14T19:33:38.000Z","updated_at":"2023-07-09T15:41:18.409Z","dependencies_parsed_at":"2022-09-04T17:12:06.039Z","dependency_job_id":null,"html_url":"https://github.com/Goraved/Typhon-Mobile","commit_stats":null,"previous_names":[],"tags_count":0,"template":null,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Goraved%2FTyphon-Mobile","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Goraved%2FTyphon-Mobile/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Goraved%2FTyphon-Mobile/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Goraved%2FTyphon-Mobile/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Goraved","download_url":"https://codeload.github.com/Goraved/Typhon-Mobile/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254235692,"owners_count":22036966,"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":["allure","android","appium","ios","page-object","pytest","python"],"created_at":"2025-05-14T22:13:59.944Z","updated_at":"2025-10-12T22:12:42.535Z","avatar_url":"https://github.com/Goraved.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Typhon mobile tests (iOS/Android)\nAutomation tests for the mobile apps base on Python + Appium + BrowserStack\n\n## IMPORTANT!\nNote! It's just a template of mobile project with empty variables and test. To make it work need to specify all needed fields, tests, screen, locators and configs. \n\n## Setup\nBrave yourself and read small instruction below.\nI do not guarantee that you will understand something cause there are a lot of pitfalls with XCode and Appium versions. At first, make sure that you have a Developer provision profile and account from the app you gonna test. Then you need all the latest versions of:\n* XCode;\n* Android Studio;\n* Appium;\n* MacOS;\n* iOS;\nAfter that open `WebDriverAgent` project using XCode and add sign all WebDriverAgent in this project with your dev profile. And set the target version needed to your app.\n\n#### Good luck!\n\n# Instruction:\n## Setup dev environment\n\nMobile tests project which supports iOS and Android using Appium.\n\nThis project is [Python](https://www.python.org/) based, so you will need Python to work with it.\nFor reports generation [Allure](http://allure.qatools.ru/) is used. Install it as well.\n\n```\nbrew install python3\nbrew install Allure\n```\n\nIn Terminal from the main project, folder do the following\n1. Setup the local virtual env `python3 -m virtualenv venv`\n2. Install all the requirements\n```\nsource venv/bin/activate\npip install -r requirements.txt\ndeactivate\n```\n\nAlso, you can run the next script:\n```bash\nsh scripts/venv.sh\n```\n\n### Install Appium\n```\nbrew install node || apt-get install nodejs # get node.js\nnpm install -g appium # get appium\nnpm install wd # get appium client\n```\nAlso the desktop version - https://github.com/appium/appium-desktop/releases\n\n## Android\n* Install JAVA\n```\nbrew cask install java\n```\n* [Install android sdk](https://developer.android.com/studio) \n* Set correct Android path [link](https://stackoverflow.com/questions/19986214/setting-android-home-enviromental-variable-on-mac-os-x):\n```\nnano ~/.bash_profile\n```\n```\nexport ANDROID_HOME=/YOUR_PATH_TO/android-sdk\nexport PATH=$ANDROID_HOME/platform-tools:$PATH\nexport PATH=$ANDROID_HOME/tools:$PATH\n```\n* RESTART MAC!\n* [Create emulator](https://developer.android.com/studio/command-line/avdmanager)\n```bash\nsdkmanager \"system-images;android-28;google_apis;x86\"\navdmanager create avd -n test_emu -k \"system-images;android-28;google_apis;x86\" --device \"pixel_xl\"\navdmanager list avd\nemulator -avd test_emu\n```\n## iOS\nIt can be automated only on Mac. \n``` bash\nbrew install libimobiledevice\nbrew install ios-deploy\n```\n1. Install Xcode\n1. Get the dev permissions to the iOS developer group\n1. Use guide to setup WebAgentRunner in the Xcode http://appium.io/docs/en/drivers/ios-xcuitest-real-devices/\n\n### Launch Mobile tests \n\nGo to `scripts` dir. Execute the following script\n```\nexecute_tests.sh\n``` \n\n### Examples of capabilities\nAndroid\n```\n{\n  \"platformName\": \"android\",\n  \"deviceName\": \"Pixel 2\",\n  \"app\": \"test.apk\",\n  \"autoGrantPermissions\": true,\n  \"appPackage\": \"com.test.test.QA\",\n  \"appActivity\": \"com.test.test.activities.TestLauncherActivity\"\n}\n```\niOS\n```\n{\n  \"platformName\": \"iOS\",\n  \"platformVersion\": \"13.3\",\n  \"deviceName\": \"iPhone 7\",\n  \"app\": \"test.ipa\",\n  \"udid\": \"auto\",\n  \"xcodeOrgId\": \"123123\",\n  \"xcodeSigningId\": \"iPhone Developer\",\n  \"autoAcceptAlerts\": false,\n  \"noReset\": true,\n  \"automationName\": \"XCUITest\",\n  \"waitForQuiescence\": false,\n  \"useNewWDA\": true\n}\n```\n### Required environment variables for the local run\n| KEY | VALUE | Desc |\n|---|---|---|\n|DEVICE|pixel_device| Key of devices from `mobile_framework/mobile/devices.py`|\n|app_path|test.apk;| ABS path to the application|\n|PLATFORM|android| `android` or `ios`|\n\nYou can easily setup those variables using PyCharm: `Run/Debug Configurations -\u003e Edit Configurations -\u003e Templates -\u003e Python tests -\u003e pytest -\u003e Environment -\u003e Environment variables`\n\n\n## ADVISES!\n1. Try to use [Appium Desktop](https://github.com/appium/appium-desktop/releases) cause it would be faster for you and you could easily setup correct desired capabilities;\n\n## Extra useful links:\n1. [Creating a Test Automation Framework using Appium with Python](https://qaboy.com/2018/06/27/automation-framework-using-appium-python/)\n2. [Appium XCUITest Driver Real Device Setup](http://appium.io/docs/en/drivers/ios-xcuitest-real-devices/)\n\n\n#### kill appium nodes\n`````/usr/bin/killall -KILL node`````\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgoraved%2Ftyphon-mobile","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgoraved%2Ftyphon-mobile","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgoraved%2Ftyphon-mobile/lists"}