I am looking for some tools that would enable an IOS app to be tested in an automated way without necessarily having access to the code (essentially black box testing). Currently I am exploring something like robotium to do just that in Android, but I also need to be able to test IOS apps. Does anyone have any experience or suggestions for doing this in IOS?
You have build in with Xcode Instruments UIAutomation.
But I recommend Appium because it supports Android and iOS.
Related
Can you build for iOS with react-native on Windows?
Or does it require xcode?
If so, any work arounds?
I dont want to work on a mac... or a mac vm.
I think the app you create with react-native will work with iOS but you might just have to develop it without an iOS SDK. (essentially, you can't really see the app in a virtual iOS device whilst developing).
However, i think if you develop the app for android using android studio SDK with react native, the app should also work with iOS as well. It's just that you won't really be able to see the app in development on a virtual iOS device.
Another option is to use expo when using react native. Essentially, it displays your app on your iphone so you can technically do app development whilst viewing the app on an iOS device, but I don't think its that great as you can only see it on your phone, whilst I prefer to use a virtual device on my laptop.
You can view documentation for expo in the react native docs here:
https://facebook.github.io/react-native/docs/getting-started
I'd recommend you to just develop the app for android using the android SDK from Android studio. This also works with expo or react native CLI. Although you may have to develop the app in a virtual android device, I think the app also works with an iOS device (it may just look a little bit different e.g. a button in android will look different to a button on iOS)
Here's a tutorial that really helped me with learning React-Native:
https://www.youtube.com/watch?v=NuZOwsmzcro
Just follow the steps and make sure you install an android SDK. Then once you get to around "9:25", instead of starting up an iOS emulator from an iOS SDK, start up the android one from android SDK, then hit the button "a" to choose android and you're all set!
The short answer is NO. iOS apps need to build on a Mac. However, if you have a cheap old Mac, or even a Mac cloud account, you can effectively do the equivalent while (almost) never touching the Mac. Of course, this assumes that it has been setup up once, and builds via Xcode or Xcode command line. Once that is done, you can automate it so that you're working and testing only on the PC.
For example, I once took over a React Native project where the previous developer did something similar. Because it was a generic interface, he coded on his PC, then tested via the Android emulator without ever testing for iOS. At that point you can simply push code to GitHub (manually, or with something like Fastlane or a user script). Separately, you have a script on that old Mac or online Mac-as-a-service that checks periodically and builds when the code changes. There were some times when the Mac needed special attention, but for the most part, it worked solely on one machine.
Namely, you can not run IOS Simulator on windows. But you can access a virtual IOS machine and run Simulator from windows virtually as a solution..
I am planning to automate my iOS native app using Appium. My app has the functionality of taking pictures. I researched little bit on this but couldn't find any help on iOS.
I got some info from the NET to automate Android Camera, but my app supports only iOS. Can any one please help me on this?
I'm planning to develop an app for Android using Qt Quick Controls and an Android Emulator. The same set of components is said to work on iOS. Thus I'd like to build the app for iOS as well.
Unfortunately, Qt for iOS is only available for Mac.
I don't own any Apple or Android device. I'm using a computer running Linux.
What would then be the best way to be able to build the app for iOS (and test whether everything works as expected; most testing will take place in the Android emulator)?
If any more information is needed, feel free to ask in the comments.
I have explored couple of tools like Appium,KIF, for these tools we need to own the app (to enable Automation Instrument) to automate. And also tried with .IPA files available on the internet (Gmail email client) on iOS simulator, not got any success yet.
I have requirement to automate iOS default Email app, is there any tool/approach to do this?
Yup, Apple has it pretty locked down for apps that are not yours. For that situation, you can try using Sikuli, which uses a computer vision approach to automation. (Sikuli uses OpenCV under the hood).
If you also want to automate an app on a real device, you can use Sikuli combined with a camera and Tapster, a robot for interacting with a device. (Disclosure: I started the Appium and Tapster projects.)
I am quiet new for this topic as iOS developer instead of QA. Is that possible to build the automatic testing for the iOS apps in the real devices ? If yes, any mature solutions ?
I like KIF.
Easy to use and it lets you write your tests in Objective-C.
I know you asked about mature solutions, but Telerik's Test Studio for iOS is something you might investigate even though it's in beta. (Disclaimer: I work for Telerik and help promote these tools.)
We work on the native device with no jailbreaking required. There's also no requirement for tethering or wifi/network connectivity, so you can work in a completely disconnected mode to ensure your apps' offline usage works properly. Test Studio for iOS also avoids messy positional-based locators, so it's nicely flexible. It works with native apps (UIKit), web apps, and hybrid apps too.