Test React Native App Using Firebase TestLab
Is it possible to test a React Native (Expo Managed) app using Firebase TestLab?
I have not succeeded. Several possible routes, none successful thus far:
1) Is it possible to force a Robo Test to keep running for a specified period of time? Currently, the default Robo Test runs only very briefly (<~1min) then terminates 'successfully'. If I could just get the test to continue for longer, I could run all of the needed testing internally within the app. The Game Loop approach doesn't appear to be viable for a React Native app.
2) Is it possible to create a Robo Script that selects UI elements by testID? In React Native the control over the native rendered elements is minimal. It is, however, possible to specify testID on elements.
3) Is it possible to use Android Studio to generate a Robo Script on a React Native (Expo) app? When I've tried, I can get the app to run using Android Studio->Firebase->Record Robo Script, but when I perform actions on the device, they are not logged in the scrip (actually, nothing is so no script is produced, just empty JSON).
Thank you
Answer
1) Yes. From Web UI, this option is in Advanced options. Locally, you can pass the time in seconds using '--timeout-sec' parameter.
2) No, as of now, testID attribute is not supported by Roboscript (and by Robo).
3) No (as you've noticed from your experience). Roboscript recorder did not capture any of your actions, because it only works for regular Android widgets.
Related Questions
- → should I choose reactjs+f7 or f7+vue.js?
- → Phonegap Android write to sd card
- → Local reference jquery script in nanohttpd (Android)
- → Click to navigate on mobile devices
- → How to allow api access to android or ios app only(laravel)?
- → Access the Camera and CameraRoll on Android using React Native?
- → React native change listening port
- → What is the default unit of style in React Native?
- → Google play market autocomplete icon
- → Warning: Each child in an array or iterator should have a unique "key" prop. Check the render method of `ListView`
- → Using Laravel with Genymotion
- → react native using like web-based ajax function
- → react native pdf View