How to run Appium with an iOS app - ios

How do you use Appium with iOS? I know this question seems ridiculously simple, but actually you'd be surprised. There is apparently no documentation online that explains how to do this, except for perhaps youtube videos, which I can't watch anyway because my workplace disallows it.
I have a Mac. I have an app that is loaded in Xcode. I have the Appium desktop app running.
What do I do now?
BTW, I am already very familiar with Appium, as I have created tests for the Android version of the app.

Steps
install homebrew: to install and update the required packages easily
install Node.js
install Appium
install libimobiledevice: required to run our tests on real
devices
install ios-deploy: required to deploy our apps to our devices
you also need WebDriverAgent: to opens the apps when it is downloaded to the device
Visit IOS Mobile Test Automation Using Appium and JAVA to learn how to install and run appium with an ios app. Hope this will help you.

Related

Running flutter app in real iOS device [Windows]

I've been searching similar questions but ended up with concerns regarding the actual deployment. I have no problems deploying ios version because I'm using codemagic.
My question here is if it is possible to perform flutter run if I connected an iphone? Like how I use my android device and have USB Debugging enabled.
There are cases that some functions work in android but doesn't in iphone. So if it possible to run my app in an iphone and debug it, I'll just buy an iphone instead of mac since my windows machine is very capable.
Technically you have to own a Mac to build iOS apps. You can use external service to do something similar to what you want though. You will never be able to plug your iPhone to your computer and update your app but you can build an app and install it on your iphone.
For example with Appollo. In this case you have to install Appollo from your CLI
pip install appollo
Then configure Appollo to work with your developer account.
Finally, you can build an IPA file
appollo build start --build-type ad-hoc
appollo build ipa
and you can then install this IPA on your physical device.
No, unfortunately you cannot do this because the one who builds the application for iOS is the Mac machine, not the Windows device. So, the problem here is not in connecting the mobile to Windows, but rather in the reliability of building iOS on Mac devices only.

How to build IOS apps in flutter in windows

I want to develop a application for for my company. I'm using flutter to build it for both android and IOS platform. But I have only windows machine, so I'm only able to build it for Android. Can I build(generate apk) IOS flutter apps in windows machine ?
if yes please explain it well.
You can develop the UI on android itself. However, you need OSX to run an Iphone Simulator. An alternative would be to use a virtual machine with OSX installed. It is not recommended though.
Also, for IOS the build is different. It is not as simple as generating an apk and installing it on your phone. You will need itunes and a legit account to run it.
See more here

Using Flutter from Linux without XCode

I use Linux (Ubuntu 20.04) as my development environment. I was excited about the idea of reusing the same code for Android, iOS and event Web.
But I'm blocked because I'm using Linux and in all tutorials and examples are talking about the necessity of using XCode to things like setting the FireStore configuration.
I'm not an iOS developer, so I don't want to buy a more expensive and less powerful machine to be able to develop and release iOS applications, and looks like still, Flutter is not the solution.
So my question is, how can I develop iOS apps using Flutter without a Mac?
You can also use a CLI tool named Appollo : https://github.com/Appollo-CLI/Appollo
It's a simple python utility that let's you :
Configure XCode
Create an IPA
Test your app in the iOS simulator
Build and publish your app on the App Store
You can install it by running pip install appollo in your terminal. For a full tutorial check their documentation : https://appollo.readthedocs.io/en/master/tutorial/index.html
You can also view a few demo videos on the Appollo YT channel : https://www.youtube.com/channel/UCBNRrJd4UP0QQRoYF4JOEmA
You can do one of the following:
Use a Mac OS virtual machine.
Use a service to build remotely, like CodeMagic for example.
Get a friend or co-worker to build the app on their Apple machine.
Also check out this:
Is it possible to develop iOS apps with Flutter on a Linux virtual machine?

How can I connect IOS project created by flutter to firebase? [duplicate]

I am new to developing mobile apps and wanted to try Flutter but I use Windows. Because Flutter doesn't support Windows yet I had the idea to use a virtual machine running Linux to install Flutter. Does this work?
Also in the Flutter setup it says this:
To develop Flutter apps for iOS, you need a Mac with Xcode 7.2 or newer.
Is there a way to develop iOS apps without having a Mac?
Yes, you can develop iOS apps with Linux (or Windows) using Android Studio or Visual Studio Code. The point of Flutter is that you have one code base and can deploy to both Android and iOS. So the development phase is no problem.
In the past you could only deploy iOS apps to the App Store if you had a Mac, but there are some more options now. See the following articles:
How to sign Flutter apps for iOS automatically without a Mac
Developing and debugging Flutter apps for iOS without a Mac
How to develop and distribute iOS apps without Mac with Flutter & Codemagic
Build an iOS app without a Mac or iPhone using Flutter
To test your app on the iOS simulator, though, it is still necessary to have a Mac. However, theoretically the app should have the same behavior for most things as on an Android device, so you wouldn't necessary need to test it using the iOS simulator. I would say long term you would probably want to consider getting a Mac, but it is certainly not necessary in the beginning.
Update: In a recent app I made, my tests passed in the Android emulator but crashed in the iOS simulator. It was a normal bug and nothing specific to iOS, but for some reason the Android simulator didn't crash. So for a production app, you really do need to test it on an iOS device/simulator.
As you point in your question:
To develop Flutter apps for iOS, you need a Mac with Xcode 7.2 or newer.
You can work around by using an external service (like Travis-ci or other) to build your code for iOS. However it's not usable as a developer workflow as that can take several minutes to get the artefact.
You should check out MacOS cloud solutions like MacInCloud. There are CI/CD solution that will support it (e.g. CircleCI and BitRise) however these are not suited for development.
Services like MacInCloud allow you to remote desktop into a Mac where you could conceivably use XCode remotely.
Windows is now partially supported in the way you can edit and publish for Android but you still can't create for IOS where a mac is required (XCode).
More informations https://flutter.io/setup-windows
You can use tools like Appollo to do just that directly from Windows or Linux. Appollo is a python CLI tool.
To install Appollo run pip install appollo, then setup your developer account with Appollo (https://appollo.readthedocs.io/en/master/tutorial/2_configure_app_store_connect.html) once this is done you can start building your app with appollo build start
You can check out a few example videos here : https://www.youtube.com/channel/UCBNRrJd4UP0QQRoYF4JOEmA

How do you run DalekJS on iOS?

I've got DalekJS running really well on WinLin, but am interested to know exactly what the process is for running it on iOS.
http://dalekjs.com/docs/ios.html
When running on Windows, for example, I install the DalekJS npm globally, and then install the IE web-driver, before executing my test suite.
On iOS am I expected to do the same thing? Can you install NodeJS on an iPhone? Is there a difference in doing it on the actual device, vs doing it through the emulator?
Also, what are the current obstacles in making it run on iPad?
Thanks!
Dalek will not run on the IPad/Iphone etc. itself (neither will or must NodeJS), it uses the native debugging tools that come with the dev environment through Appium.
Unfortunately, due to some changes that happened in MacOS 10.8 & 10.9 (Changes in the user rights management, etc.) it can only do this in the simulator. We are working on bringing back support for "real" devices with the next version of DalekJS.

Resources