All Projects â†’ wix â†’ Detoxrecorder

wix / Detoxrecorder

Licence: mit
Detox Recorder is a utility for recordings steps for a Detox test as you use your app in Simulator. After recording the test, add expectations that check if interface elements are in the expected state.

Projects that are alternatives of or similar to Detoxrecorder

Dappeteer
🏌đŸŧ‍E2E testing for dApps using Puppeteer + MetaMask
Stars: ✭ 117 (-34.64%)
Mutual labels:  e2e
Scrcpy Gui
đŸ‘ģ A simple & beautiful GUI application for scrcpy. QQįž¤:734330215
Stars: ✭ 2,402 (+1241.9%)
Mutual labels:  recording
Horizonsdk Ios
Horizon SDK for iOS
Stars: ✭ 171 (-4.47%)
Mutual labels:  recording
Keypress Osd
This program is an On-Screen Display or a Heads-Up Display for keys. It displays every key press at a clearly visible text size. It is developed for people with poor eye sight. It is meant to aid desktop computer usage. It is especially useful while chatting or for occasional typing. The user no longer has to squint or zoom in the entire screen to see what s/he writes in small text fields.
Stars: ✭ 131 (-26.82%)
Mutual labels:  recording
Kakunin
An E2E testing framework
Stars: ✭ 141 (-21.23%)
Mutual labels:  e2e
Opus Media Recorder
MediaRecorder polyfill for Opus recording using WebAssembly
Stars: ✭ 159 (-11.17%)
Mutual labels:  recording
Miniaudio
Single file audio playback and capture library written in C.
Stars: ✭ 1,889 (+955.31%)
Mutual labels:  recording
Torchfunc
PyTorch functions and utilities to make your life easier
Stars: ✭ 177 (-1.12%)
Mutual labels:  recording
Asciinema Server
Web app for hosting asciicasts
Stars: ✭ 1,848 (+932.4%)
Mutual labels:  recording
Cypress Real Events
Fire native system events from Cypress.
Stars: ✭ 164 (-8.38%)
Mutual labels:  e2e
Managedbass
.Net Wrapper for 'Bass' Audio Library
Stars: ✭ 131 (-26.82%)
Mutual labels:  recording
Asciinema Player
asciinema player is an open-source terminal session player written in Javascript and Rust/WASM. Unlike other video players asciinema player doesn't play heavy-weight video files (.mp4, .webm etc) and instead plays light-weight terminal session files called asciicasts.
Stars: ✭ 1,948 (+988.27%)
Mutual labels:  recording
Playwright Video
đŸŽŦ Save a video of a Playwright page
Stars: ✭ 162 (-9.5%)
Mutual labels:  e2e
Cypress React Selector
⚡ī¸ cypress plugin to locate react elements by component, props and state
Stars: ✭ 121 (-32.4%)
Mutual labels:  e2e
Tlog
Terminal I/O logger
Stars: ✭ 170 (-5.03%)
Mutual labels:  recording
Sakuli
Sakuli is an end-2-end testing and monitoring tool for web sites and common UIs with multiple monitoring integrations
Stars: ✭ 115 (-35.75%)
Mutual labels:  e2e
Vimeo Unity Sdk
Easily stream your Vimeo videos into Unity or record and publish out to Vimeo.
Stars: ✭ 159 (-11.17%)
Mutual labels:  recording
Scrcast
Drop-in Android Screen Recording Library
Stars: ✭ 178 (-0.56%)
Mutual labels:  recording
Avfoundationrecorder
Swift audio recorder using AVFoundation
Stars: ✭ 174 (-2.79%)
Mutual labels:  recording
Pbjvision
📸 iOS Media Capture – features touch-to-record video, slow motion, and photography
Stars: ✭ 1,940 (+983.8%)
Mutual labels:  recording

Detox Recorder

Detox Recorder is a utility for recordings steps for a Detox test as you use your app in Simulator. After recording the test, add expectations that check if interface elements are in the expected state.

Detox Recorder

Detox Recorder can work with any app installed on your simulator, or use the information in your Detox configuration to install and launch your app.

Supported Detox Actions

  • Interaction with system controls
  • Scrolling
  • Scroll to top
  • Taps and long presses using gesture recognizers
  • Adjusting date pickers
  • Adjusting picker views
  • Text input
  • Adding comments to test
  • Taking a screenshot

Known Limitations

  • Complex gestures such as pans, swipes and zooms are not supported
  • Interactions with system alerts (such as permissions and authentication) are not supported
  • Interactions with map views are not supported
  • Interactions with web views are not supported
  • It is not possible to deduce the delay of long press in RN gestures; use the settings screen to define a delay suitable for your app

Requirements

  • macOS 10.15.4 and above
  • Xcode 11.0 and above
  • applesimutils 0.7.6 and above

Installation

  1. If you haven't, install Detox in your project.

  2. Install Detox Recorder:

    npm install detox-recorder --save-dev --no-package-lock
    

Recording

Detox Recorder is operated from the command-line, using the detox recorder command in your app's folder. It can record interactions in any app installed on your simulator (including Apple's stock apps), or use the information in your Detox configuration file to install and launch your app.

Note: Detox Recorder produces Detox 17.0+ compatible test files.

To use your Detox configuration to determine which app to record and on which simulator, run the following command:

detox recorder --configuration "ios.sim.release" --outputTestFile "~/Desktop/RecordedTest.js" --testName "My Recorded Test" --record

Note: Detox Recorder only supports valid JSON configuration files. If your Detox configuration resides outside of package.json, make sure that the configuration file is a valid JSON file. Arbitrary JS code is not supported.

Or, alternatively, to start a recording of an already installed app, run the following command:

detox recorder --bundleId "com.example.myApp" --simulatorId booted --outputTestFile "~/Desktop/RecordedTest.js" --testName "My Recorded Test" --record

You app will launch and start recording your actions to the specified test file.

For an in-depth look at the command line arguments, run the following command for full documentation:

detox recorder --help

Interaction Recording

When interacting with elements in your app, Detox Recorded will visualize each interaction with a short animation to signal the interaction type. This visualization will be colored depending on how accurately and uniquely Detox Recorder estimates the matching of the UI element is.

Note: Detox Recorder makes this estimation according to internal heuristics it runs when observing the interacted UI element. This estimation may not be 100% accurate. Always inspect the resulting test file to ensure element matching is correct.

Green visualizations signify unique elements with a very small chance of mistaken matching in the future.

Yellow visualizations signify elements that are unique enough at the time of recording, but have some chance of being incorrectly matched as you update your app's UI elements.

Orange visualizations signify elements that are unique enough at the time of recording, but have higher chance of being incorrectly matched as you update your app's UI elements.

Red visualizations signify elements that are not unique, and have high risk of being incorrectly matched in the future.

It is recommended to strive for green elements as much as possible by adding unique identifiers to your elements. As much as possible, try to avoid having red elements in your recordings.

Recording Controls

During recording you will see that a new bar is displayed at the top of the screen. This bar contains recording controls that add additional functionality, as well as settings to augment the recording experience in your app. You can collapse the bar to minimize its interference with your content.

Recording Controls

  • The take screenshot button () adds a screenshot command to your test. Long press on the button to give the screenshot a custom name.
  • The add comment button () adds a comment to your recorded test's code.
  • The tap type button () switches tap recording from normal to precise and vice-versa. See Recording Settings for more information.
  • The settings button () displays the recording settings screen. See Recording Settings for more information.
  • The stop button () stops the recording.

After Recording

After finishing your recording, add expectations that check if UI elements are in the expected state. See Expectations for more information.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].