Is it possible to make an android application with appium? - appium

We can do a test application with appium.But what I want is to compile the browser automation application as apk and run it on the phone.In short, can we make a bot application with appium and upload it to google play?

Appium is Node-js based application, so if you find a way to run it on Android device you can give it a try. But it sounds like a huge overhead.
I would consider native frameworks (Espresso/UIAutomator) for this purpose, but still don't think it will pass review in official google play market

Related

automate mobile device apps by direct communication to the phone via REST api

I'm currently working on a project that relies heavily on appium / selenium for automation. These frameworks are great for starting out, but the robustness isn't quite there, and requires a lot of extra hardware / software to run the automation. Such as macOS, xcode, adb, appium, selenium, usb connection or connected through WIFI ( what we currently have to use ). There is just a lot of dependencies in this automation stack, and it would be nice to have a cleaner, more reliable, and scalable solution.
So I'm wondering. Does any one know a way to run automation for iOS and Android via REST api using a server that lives directly on the device allowing us to communicate to the device like curl -POST <device_ip>:<port>/session/{sessionId}/openApp.
Think of the WebDriverAgent that Facebook built, but instead of being built with xcodebuild, that Agent just lives on the device. Essentially when you build this framework it starts up that server I'm describing, but its reliant on xcode, and i ultimately would like to remove xcode from having to be in the picture. I know that there are so many issues today I see with people having issues with both the WDA server and xcode. Specially with new versions, and how the WebDriverAgent is now archived by facebook.
Can't we just create an app that can act as the WebDriverServer running at all time, and will just use the same logic as today.. via start session, find elements by Id, click on them, and move on. This would also remove the need to running Appium on your computer, and rely on it to proxy your commands to that WDA server with iOS.
I know android is a much simpler picture, and I'm currently a little more focused on how to solve this with iOS at the moment.
I would appreciate any insight into this issue / question, and if anyone has suggestions on Appium, iOS automation, android automation, or other points that can be made please send me your feedback.
We do run our automation using real devices!
I have use Appium / Selenium to access from Rest API . In my opinion it is easier than building your own.
One of the solution was is we are currently working in a project using Flutter - that still need your Xcode to sign in the dependencies. You will also need to make sure libimobiledevice and ideviceinstaller are installed, and lastly modify Flutter. And we call the real device from rest api . We are currently scaling and monitoring the performance.
Another viable alternative which I can think of, doing it through XCTest will be easier than Appium . Just provide the end point in your app and create a wrapper in XCTest. Call the rest api and run the test in XCTest. It is more stable and faster in long run.
But for bulk of projects , I am still using Appium to test for iOS while we are evaluating this solution.
If you're open to using commercial tools, you can consider using xcuitrunner. It installs a recent version of Appium's fork of WebDriverAgent on your iOS device, launches it (and keeps it alive), and returns you a HTTP endpoint which you can use to interact directly with the WebDriverAgent.
It helps remove a couple of dependencies (such as Xcode), which may be difficult to manage. You'll still need a code signing certificate and provisiong profile from Apple, though.

How do I automate an app that is not mine using appium on an ios device

So, I have an iPhone actual device here. And I have an app on there, say Tinder.
Let's say I want to write some automation that would automate some actions within Tinder.
I cannot find any documentation online, on how to setup a way to automate, on my real device using appium to open the Tinder app and swipe left or right.
I was told it has something to do with installing appium server directly on the iPhone and have your code connect into the appium server on the phone to automate that way. But again, can't find any documentation on this.
Can someone point me in the right direction?
I would like to write the automation that interfaces with appium using ruby.
Thanks.
It's not possible. If you want to automate on iOS, you need the simulator build or source code.
However, on Android, as long as you have .apk you can automate it :)
Sources: http://appium.io/slate/en/master/?java#appium-on-real-ios-devices
http://appium.io/slate/en/master/?java#ios-support

Is there any tool available to automate iOS default (Emai)l app?

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.)

Implications for developing iOS app on real device only?

I would like to use some lib file (.a) in my app.
I got the files from a 3rd party, to use an IP camera they developed.
As i understand there is no way to open this files, so i will use them as is.
The problem is the files requires real device architecture, so i can't run (or build) them
on the iOS Simulator.
What will be the Implications for developing iOS app on real device only ?
(Besides a slower build and run time and discomfort..)
Also, is there a way to change this requirement so it could run on the simulator ?
Thank you
You should write your own mock library, that exposes the exact same API the vendor provides, and test against that in your simulator. The functionality your mock library provides can be as boring or as exciting as you desire.

Will blackberry smartphone apps run on the Playbook?

Will a Blackberry smartphone application written in the Java api work on the Playbook without modification?
According to RIM, once the JDE player is released, they will have to be re-packaged which may require re-compiling, to run on the PlayBook. The same applies to Android applications. In either case you will not be able to download native JDE or Android apps and run them on the PlayBook.
The only application SDK path that allows for BlackBerry Smartphone applications to run both on BBOS, Playbook and BlackBerry 10 is the HTML5 WebWorks SDK
Get started by reading the Getting Started Overview Guide
https://developer.blackberry.com/html5/documentation/what_is_a_webworks_app_1845471_11.html
You may also be interested in cloning bbUI.js, a free ui framework that works across BlackBerry devices going back to OS5. bbUI.js targets platform specific native features, like access to hardware apis, while providing a consistent feel.
blackberry/bbUI.js
https://github.com/blackberry/bbUI.js
Best of luck to you.
Yes, RIM has announced that they will release a virtual machine which will play your existing blackberry app. I'm not sure if developers have to re-submit their blackberry apps though.
Playbook will also support Android apps, but developers will have to recompile their apps and submit those to App World.

Resources