Detox tests on iPad without the simulator - react-native

I have a react native app & a couple of detox test cases for it. I am trying to run these detox tests on iPad without the simulator. Wanted to know if it is possible, if yes then which version of detox supports this. Otherwise is there any other way to achieve it?

TLDR: No, not yet.
There is an open issue for this, and some users have found a way to do it, find it here: https://github.com/wix/detox/issues/95
This comment explains the details on how to get it to work: https://github.com/wix/Detox/issues/95#issuecomment-448365050

Related

How to troubleshoot an app after its installed

I just built and installed an android app using expo but upon launching it, the app crashes after the splash screen when it was working just fine when I using expo. I now wonder how am I to fix it when I can't even see where the problem lies.
Is there a way to find out what the problem is ? like some kind of debug=true option or anything else to figure out and fix the issue ?
You can use a 3rd party plugin that does just that like firebase or instabug, these are the 2 that I've used but I'm sure you can find a lot more.

How to run detox for react native on windows?

Is that possible to run detox on windows ? if not is there any alternative to test react native apps on windows environment ?
Short answer no. I was also planning to use it when I noticed that the documentation talks about Mac OS only. So after a little digging I found this GitHub discussion https://github.com/wix/Detox/issues/333. On alternatives I plan to explore Appium as mentioned in the React Native testing documents here https://reactnative.dev/docs/testing-overview

Use Expo Metro Bundler instead of react-native start

currently I'm migrating my react native app to expo bare workflow. Everything it's been fine so far, except for the following.
This may seem like a noob mistake, but I'm unable to use the Metro Bundler from Expo when I run my app from Xcode. Before, I could run from Xcode and the simulator would appear in the Metro Bundler with all it's logs, that was very useful.
I've been searching this for a couple days and the closest thing I've found to what I want, is using expo build:ios. The problem, it pops up a warning saying that if I'm not sure what I'm doing it's best to leave it as it is. It's a big application so I'm worried it might lead to errors, therefore I didn't do it.
If anyone knows for sure if this command is what I'm looking for, or has a better suggestion, it would be much appreciated. Thank you.
[EDIT]
To be more specific, I don't mean using the Expo Go app. I mean a standalone app (I'm not sure if this is the correct term for it). Thank you!!
expo build:ios is used for building an app bundle for your application. This is used when you want to publish your application on the store and that is why it asks for credentials of developer account on the iOS.
If you just want to run your app and check then you should use expo start. This will start the Metro Bundler for you and then you can run your application on your device scanning the QR code that would appear there.

What is best way to write e2e test on windows and expo

I'm trying to write end to end test for my react-native mobile application. But i don't know which test framework should i use. I found 3 frameworks but i have 2 problems; Expo and Windows...
Detox; I don't have mac i cannot use this framework.
Cavy; It's too much nested with normal code. And i need export my classes like that; export default hook(Scene); at the end of code. But i'm using withNavigation() function on some pages for use navigation at child components.
Appium; I don't know if it usable with expo. I searched for it but couldn't find a way to use with expo. And it's looks so complicated to me.
Does anyone know better solution for write end-to-end tests with react-native on windows and expo?
Although I am not using Expo, Cavy should work w/ Expo.
https://cavy.app/docs/getting-started/running-tests
If you're using Expo, cavy run-ios or cavy run-android will fail to successfully build your app.
Build your app separately and run your tests using:
# To test on iOS
cavy run-ios --skipbuild
# To test on Android
cavy run-android --skipbuild
Copy
Passing in the --skipbuild option means that cavy-cli will assume your app is already running, and will wait for your test results.

Calabash Automation Testing

I am new in Automating the apps for testing Android and i like to advance to this level... I have researched for Appium and Calabash... but knowing the difference pretty complicated.. There are my questions:
1: For Calabash, do we need the source code, i mean can i have APK and give test cases and so on? or do I NEED the source code even if im using the elements from app?
2: I heard i can use the Appium with cucumber, and same question do i need source code for that?
I have researched about it and all i get is for Apple apps... but nothing much for android...
You don't need source code. All you need is apk file, packageName and ActivityName to launch the app.
In Appium framework, all you need is app file (for android it will be simply .apk file).
Source code will be never needed, all elements from UI that you would like to interact with, can be simply get from Appium Inspector.
For both calabash and Appium you don't need to source code. you can automate application using apk file.
Yes you can use Appium with cucumber.
To find object locators of application use calabash console and Android UI Viewer, Appium GUI.