Automation testing for react native app for both android and iOS platform - automation

As per project requirement, need to do automation testing on the Reactnative app for Android/iOS platforms. I have seen many frameworks available such as appium, Cavy, Detox.
Need help in the selection of framework for reactnative app testing.
Have appium automation(with Java) experience for Android application.

I'm currently working on developing and maintaining Cavy, so if you have any particular questions regarding Cavy as a solution, I'd be happy to help. Just pop any issues/questions on the GitHub issue tracker.
We're in the process of moving all our documentation to our new site, but it does include a comparison with Detox in the FAQs that you may find useful :)

Related

Adding react-native-windows support for an existing React Native project

We have an ongoing React Native mobile development project targeting Android and iOS. Now a requirement has come to use the app under Windows environment. There is not much information on the web we could found on this.
If we can get some insight on the complexity, pitfalls and challenges in adding windows platform for an already existing React Native project, that will be immensely helpful.
We are using Hermes and we understand the support is still experimental
Realm support is not clear. Realm has support for UWP but is it in a stage where we can use in production level?
How much support is available under windows for other 3rd party libraries
How much code will be able to share between platforms. Will we have to write lot of native level code?
Would react-native-web be more safe bet, if that is an acceptable option for our customer
So far we went through the documents available on web such as
https://learn.microsoft.com/en-us/windows/dev-environment/javascript/react-native-for-windows
https://microsoft.github.io/react-native-windows/docs/hermes
https://github.com/realm/realm-js/issues/432
https://www.mongodb.com/docs/realm/sdk/dotnet/#std-label-dotnet_supported-platforms
However, have to provide a time estimate and cost benefit analysis before actually implementing it. Thats why we would like to get some insigth from someone who has already done it.

Chrome extension using React Native, a good or bad idea?

We are building an app that will be available on iOS, Android, and as a Chrome extension.
We are considering to use React Native for these three platforms.
I cannot find many accounts of React Native being used for building Chrome extensions, but there is one guide that explains how to do this: https://mmazzarolo.com/blog/2021-09-25-running-react-native-everywhere-electron-browser-ext/.
So, since there is not much information available, we are not sure what is best: Building the Chrome extension cross-platform or building it separately.
Would cross-platform be an efficient solution for a chrome extension or would we encounter problems?
Thanks for any advice!

Can we use a signle ionic-4 app for mobile and desktops

I am developing an ionic-4 app, Ionic provides cross platform apps but I am a bit confused and my confusion is can I use a single ionic-4 application for mobiles(e.g. Android and IOS) and desktops browsers(Chrome, firefox etc.) as website. Is it possible by using ionic version 4.
Yes, Ionic 4 provides a single code for the execution of multiple platforms.
Ionic Doc
here is help for you. You can check everything.
Yes, you can use Ionic for Android, IOS and Browser. Once the coding is done, you can add any platform to make its build. For example, if you add Android platform then you can take an Android build(APK).Before that you need to setup an environment for that . For example, you need Android studio for taking Android build and Xcode for taking IOS build. It's all depends on the platform that you use.
Please go through Ionic documentation and Youtube tutorials to get a correct picture.
Thank you

Main differences between Appcelerator Titanium and React native

Both frameworks are (hybrid) mobile app frameworks which try to access the native UI components with the JavaScript API provided by the different platforms like iOS and Android. They don't use any HTML and CSS for the UI design like e.g. Ionic do and they are not wrapper frameworks but actually a kind of cross-compiler frameworks. That's what i found out. BUT I didn't get the actual differences between these two frameworks. Why should i prefer one of these? Are they doing exactly the same job?
best regards, Tom
I know this is quite old, but I'll give my answer for the benefit of anyone else arriving here.
Full disclosure, I worked for Appcelerator from 2012-2019.
In short, they're both quite similar.
You write a specific flavor of JavaScript that includes custom objects
Your JavaScript code gets compressed, minified, etc. so it becomes the input to an interpreter that gets shipped with your app
When your app runs, it launches the interpreter which starts executing your code
At this point, JavaScript is being run in "native land", so the interpreter can act as a bridge between your JavaScript code and the native SDK
The result is a native app with access to features of the underlying platform
A "native app" shouldn't simply be defined as an app that runs natively, because that would make a PhoneGap app a native app.
A "native app" should be defined as an app that runs and behaves natively. That means, an app that abides by the native OS' ui/ux guidelines.
MAIN DIFFERENCES?
I'd have to say that the main difference is its internal design. Appcelerator started in 2007, when "mobile" was very young.
React Native was launched in 2015.
In 2015 mobile was already in full swing, and mobile OS' were pretty mature, so I infer that React Native's design benefits from all lessons learned by Appcelerator (and others).
As for which one is better, I'd say React, because Titanium is now dead.

Mobile test automation tools recommended in industry

Please suggest the recommended open source tools for mobile automation testing which supports ios and android?
For Android I would recommend
UI automator framework and Robotium
I recommend Monkeytalk. Try it-
http://www.gorillalogic.com/monkeytalk
It has very good online documentation and tutorials.
I would recommend to use appium: http://appium.io/ which is open source, cross-platform test automation tool for native, hybrid and mobile web apps
Selenium webdriver is good for Android as well as iphone.
On iphone it works slowly but accurate result.
Appium is really coming up in these days to capture Android and IPhone mobile automation market though it has some limitation for Android automation like support for Toast messages is missing etc.
Robotium can be a good choice for Android automation as it comes with a flexible API with a large number of utility methods included inside.
If you looking to automation Android or IPhone Web applications, Selenium Android Driver and IPhone driver can be a good choice.
Today you have plenty of approaches, you can use Appium as everyone said, here you have the advantage that is similar to Selenium and same code can run for Android and iOS. It's black box testing and it's slow, 8 times more slow than native approaches.
So, you have native approaches, Espresso for Android and XcuiTest for iOS. This approaches are faster that Appium and are white or grey box testing. The disadvantage is that you need to code Java/Kotlin and Swift for the tests and maybe you testers have no skills in this languages but developers can help.