Skip to content
This repository has been archived by the owner on Aug 8, 2022. It is now read-only.

Create an Android Studio Plugin for Testify #161

Closed
DanielJette opened this issue Jul 7, 2020 · 4 comments · Fixed by #162
Closed

Create an Android Studio Plugin for Testify #161

DanielJette opened this issue Jul 7, 2020 · 4 comments · Fixed by #162
Labels
IntelliJ Plugin Relates to the Testify IntelliJ Platform Plugin (Android Studio Plugin)

Comments

@DanielJette
Copy link
Contributor

Android Studio Plugin for Testify

TL:DR

Create a native plugin for Testify to fully integrate all the key Testify commands directly into Android Studio.

What?

Develop an Intellij Platform Plugin suitable for use in Android Studio to seamlessly integrate the full Testify feature set directly into the IDE.

Why?

Testify screenshot tests are built on top of Android Instrumentation tests and so already integrate seamlessly with existing test suites. Screenshots can be captured directly from within Android Studio or using the Gradle command-line tools.

However, the current Android Studio support relies fully on the fact that Testify tests extend ActivityTestRule and can be invoked using the built-in support for running instrumentation tests with various commands (notably sidebar icons) in Android Studio. These are limited to run and debug commands. Android Studio has no concept of recording or pulling screenshots from the device. Thus, it requires developers to drop to the Gradle Panel or command-line to fully use Testify. This project will enhance the developer experience by adding fully integrated IDE UI for all relevant Testify commands.

How?

Products based on the IntelliJ Platform can be modified and adjusted for custom purposes by adding plugins. Tool integration makes it possible to manipulate third-party tools and components directly from the IDE without switching contexts.

This implies:

  • Implementation of additional actions
  • Related UI components
  • Access to external resources

Android Studio plugins extend or add functionality to the Android Studio IDE. Plugins can be written in Kotlin or Java, or a mix of both, and are created using IntelliJ IDEA and the IntelliJ Platform.

Resources

@DanielJette
Copy link
Contributor Author

DanielJette commented Jul 7, 2020

To-do list

  • Fork the Intellij Platform Plugin template
  • Update the template to reference Testify
  • Create a custom icon
  • Identify the @ScreenshotInstrumentation annotation on test methods
  • Draw a gutter icon on the line next to @ScreenshotInstrumentation
  • Handle clicks on the icon
  • Display a popup-menu displaying the name of the method being clicked on
  • Access adb commands
  • Access custom gradle tasks from the existing plugin
  • Menu for test
  • Menu for record
  • Menu for clear
  • Menu for delete
  • Menu for pull
  • Menu for reveal

V2

@DanielJette
Copy link
Contributor Author

DanielJette commented Jul 9, 2020

Alpha Prep

  • Add license
  • Update readme
  • Add contribution doc
  • Remove java version
  • Remove unused actions/listeners
  • Refactor package hierarchy
  • Optimize qualifications & parsing

Release

  • Review template instructions
  • Create temporary listing on Jetbrains Marketplace
  • Publish initial alpha
  • Wait for review
  • Update main README with instructions on how to install plugin

@DanielJette
Copy link
Contributor Author

@DanielJette DanielJette added the IntelliJ Plugin Relates to the Testify IntelliJ Platform Plugin (Android Studio Plugin) label Jul 15, 2020
@DanielJette
Copy link
Contributor Author

Included in 1.0.0

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
IntelliJ Plugin Relates to the Testify IntelliJ Platform Plugin (Android Studio Plugin)
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant