{"id":15018533,"url":"https://github.com/nativescript/functional-tests-core","last_synced_at":"2025-07-10T07:35:50.796Z","repository":{"id":141977678,"uuid":"80612648","full_name":"NativeScript/functional-tests-core","owner":"NativeScript","description":"Appium based framework for testing Android and iOS native mobile apps.","archived":false,"fork":false,"pushed_at":"2019-11-18T11:43:22.000Z","size":23730,"stargazers_count":36,"open_issues_count":5,"forks_count":10,"subscribers_count":31,"default_branch":"master","last_synced_at":"2024-10-29T15:51:55.270Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/NativeScript.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null}},"created_at":"2017-02-01T11:09:48.000Z","updated_at":"2022-02-10T17:47:15.000Z","dependencies_parsed_at":null,"dependency_job_id":"d7e3d985-9248-4f93-8d5c-cacff6567c47","html_url":"https://github.com/NativeScript/functional-tests-core","commit_stats":{"total_commits":210,"total_committers":14,"mean_commits":15.0,"dds":0.5142857142857142,"last_synced_commit":"bae2823249c932dced5bddf042fdf2ab6072e184"},"previous_names":[],"tags_count":7,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NativeScript%2Ffunctional-tests-core","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NativeScript%2Ffunctional-tests-core/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NativeScript%2Ffunctional-tests-core/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NativeScript%2Ffunctional-tests-core/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/NativeScript","download_url":"https://codeload.github.com/NativeScript/functional-tests-core/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":237163264,"owners_count":19265241,"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":[],"created_at":"2024-09-24T19:52:05.035Z","updated_at":"2025-02-04T17:31:49.547Z","avatar_url":"https://github.com/NativeScript.png","language":"Java","readme":"# Functional Tests - Core Framework\n\nGeneral purpose automation framework for native mobile apps based on [Appium][Appium Web].\n\n## Demo Project\n\n[NativeScript/functional-tests-demo](https://github.com/NativeScript/functional-tests-demo)\n\n## Features \n\n- Manage emulators, simulators and physical devices.\n    - Create emulators and simulators\n    - Install/Uninstall applications\n    - Start/Stop/Restart applications\n    - Get console logs\n    - Get screenshots\n    - Simulate environment (like geo location for example)\n    - [Android] Get performance stats (memory usage, startup time, application size)\n    - All of the above managed via [configs files](docs/mobileSettings.md)\n- Interaction with native apps on iOS Simulators, Android Emulators as well as physical Android and iOS devices.\n    - Locate elements via accessibility of the mobile platforms  \n    - [Cross-platform locators](docs/cross-platform-locators.md) that work for both Android and iOS (and also with different backend automation)\n    - [Locate elements via images and OCR](docs/find-by-image.md)\n    - Perform gestures\n- Flexible image verification.\n    - Verify your page looks as expected\n    - Verify particular element on screen looks as expected\n    - Allow setting tolerance as % and number of pixels\n    - Logic to exclude status bar from comparison\n    - Logic that helps when you have shadows or pixels that looks almost the same, but RGB is different\n- Locating elements by image and OCR (based on Sikuli).\n- Logs, Reports, Artifacts\n    - Console log from devices, emulators and simulators\n    - Appium server logs\n    - Test execution logs\n    - Screenshots\n    - Junit style xml reports with meta info that helps generating html reports with images.\n\n## Supported Platforms\n\n### Host \n\nTests based on this framework can be executed from Windows, Linux and macOS machines.\n\nHowever, there are some limitations:\n- Testing on iOS Simulators and devices can be done only from macOS hosts.\n- Android testing is possible from any hosts, however some features do not work on Windows:\n    - Executing tests on multiple Android emulators/simulators simultaneously.\n    - Create emulators feature. \n\n### Mobile \n\nTests based on this framework can be executed against Android Emulators, iOS Simulators, Android physical devices and iOS physical devices.\n\nSupported versions: \n- iOS: 8+\n- Android: 4.2+ \n\n...and yes, we work on iOS 10 and Android 7.1 :)\n\nMost likely we also work on Android \u003c 4.2, but we can not confirm since we test only Andoird 4.2+\n \n## Prerequisites and Setup\n\n### Prerequisites\n\nPrerequisites to run tests based on this framework.\n \n* The latest [Node][Node] LTS release\n* [JDK 1.8+][JDK 8]\n* [Appium][Appium Package]\n* (Android only) [Android SDK][Android SDK] \n* (iOS only) [Latest Xcode][Xcode]\n\n### Environment Setup\n    \nPlease read [Environment Setup](docs/setup.md) document.\n\n## NativeScript Functional Tests\n\nThis framework is used for testing all sample apps @NativeScript.\n\nTests are available in [NativeScript/functional-tests](https://github.com/NativeScript/functional-tests) repository.\n\n## Issues\nAll work-items (issues, features, questions) are handled in [GitHub][GitHub Issues].\n\nIf you find valid issue, please log it (as good is the report as good is the chance to fix it).\n\nClarification:\n\nWe do not guarantee all issues will be fixed, but we will be happy to see pull requests.\n\n\n## Build and Contribute\n\n### Build\n\nGradle is used as build system.\n\nProject use [Gradle Wrapper](https://docs.gradle.org/current/userguide/gradle_wrapper.html) so global installation of Gradle is not required.\n\n#### Run tasks\n\n- Unix-like: `./gradlew \u003ctask\u003e`\n- Windows: `gradlew.bat \u003ctask\u003e`\n\n#### List of tasks:\n\n- *tasks* - Displays the tasks runnable from root project.\n- *build* - Assembles and tests this project.\n- *check* - Runs all style checks in `config/checkstyle/checkstyle.xml`; outputs reports in `./build/reports/`.\n- *fatJar* - Assembles a jar archive with dependencies; outputs a `.jar` file in `./build/libs/`.\n\n\n### Contribute\n\nIf you see an area for improvement, want to fix some git issues or just have an idea for a new feature, we will appreciate your [ pull requests](https://help.github.com/articles/about-pull-requests/)\n\nJust make sure *check* task passes successfully.\n\n\n[GitHub Issues]: https://github.com/NativeScript/functional-tests-core/issues\n[Node]: https://nodejs.org\n[Appium Web]: http://appium.io\n[Appium Package]: https://www.npmjs.com/package/appium\n[JDK 8]: http://www.oracle.com/technetwork/java/javase/downloads/index.html\n[Android SDK]: http://developer.android.com/sdk/index.html\n[Xcode]: https://developer.apple.com/xcode/downloads/\n[ideviceinstaller]: https://github.com/libimobiledevice/ideviceinstaller\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnativescript%2Ffunctional-tests-core","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnativescript%2Ffunctional-tests-core","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnativescript%2Ffunctional-tests-core/lists"}