Mobile Test Automation using IONIC 6 app : Xpath is changing always after the build - appium

Mobile test automation has been performed in Robot Framework using IONIC 6 app with Appium and Android Studio . However Xpath is getting changed after each build given by developer.
Actual : Xpath always needs to be changed after each build
Expected: Xpath should be stable and no much rework in the existing scripts

Related

run UI automation against iOS app using Appium, on windows platform using VS2015?

is there any way to run UI automation against iOS app using Appium, on windows platform using VS2015 ? Can we use Xamarian for this

Build Ionic Application From Xcode Project

I'm building an iOS application using Xcode/Swift, and I have a few less-than-technical group members who don't really know how to build Xcode projects, but are interested in seeing/testing the progress of the application. One group member pointed out that they could test the app using Ionic/Ionic View. However, to my understanding, Ionic works by building an application in the specific Ionic framework, and then Ionic translates the project into an Xcode/Swift project (.xcodeproj) or an Android project. Is there a way to do the reverse conversion––is there a way to convert my Xcode project so that it will work on Ionic, or specifically Ionic View?
Ionic is tool like cordova created to develop hybrid apps (from HTML+JS+CSS --> to Native iOS/Android/WinPhone/BlackBerry). The UI is running in native webView, and using some native functionalities by plugins but it is not created to make Ionic/Cordova app from native.
If you want to share your app to tests, use Apple TestFlight
'Ionic View' is a very good advice and the one I would suggest in your case as well.
You don't have to do anything in your code really to use it, just create an ionic account and in your terminal, change into your ionic project directory and then type:
$> ionic upload
You will be asked for the usernmame and password of the account you just created, the application will be uploaded and you will get a unique app ID. You can then share that ID with anyone who you want to test your app, as long as they have the Ionic View app installed on the their iOS or Android devices.
Also do make sure you have updated your global ionic and cordova packages to the latest version before you upload:
$> sudo npm uninstall -g ionic && sudo npm install ionic
Now, as 3squad mentioned, many of they Ionic Native plugins are not supported so don't expect everything to work, but it's a good start to show most of your app and design running.
Here's a list of currently supported plugins.
Please do keep in mind that the performance using Ionic View will be far worse than if you actually build, release and give your users and actual production .apk or .ipa file to install. This latter approach would also showcase the full, final performance and functionality resulting from your code, but it may be more cumbersome.
Here's how to release a production version of your app.

Does Appium need Xcode for run automated testing on iOS device?

I'm trying to run automated testing on iOS devices without installing Xcode, but seem like it doesn't work.
So I just want to know that Does Appium really need Xcode for run automated testing on iOS device? and why?
Xcode needs to be present for Appium to work.
Appium's command life-cycle, works as :
Selenium webdriver picks a command form the code like (Element.click) and sends it in form of JSON via http request to the Appium server. Appium server knows the automation context like the iOS and Android and sends this command to the Instruments command server which will wait for the Instruments command client (written in node.js) to pick it up and execute it in bootstrap.js with in the iOS instruments environment. Once the command is executed the command client sends back the message to the Appium server which logs everything related to the command in its console. This cycle keeps going till the time all the commands gets executed.
Apple’s instruments binary, which Appium uses to launch the iOS simulator, by default uses the currently-selected Xcode, and the highest iOS SDK installed with that version of Xcode.
Appium uses the appium-xcuitest-driver to test iOS devices using the Xcode UI Testing protocol. Under the hood, it will launch the WebDriverAgent on the iOS device, which does the heavy lifting.
There is 3rd party, commercial software which allow you to launch Appium tests on iOS devices without having to use Xcode. Such examples are Mobile Center from MicroFocus, Appium Studio from Experitest, or the quamotion/appion-docker-ios docker image.
Yes you need xcode to run you test on ios. And yes it supports native, hybrid as well as browsers.

Unsupported configuration: ... armeabi-v7a-emu.so in Mono for Android v4.0

I have just downloaded the latest Mono for Android (v4.0) and am trying to load a test app into a level 14 API emulator. In both Visual Studio 10 and Monodevelop, I am getting the same problem when packaging the app. Here's what I get in VS.
monodroid : error 1: System.InvalidOperationException: Unsupported configuration: Could not load resource 'libmono-android.shared.armeabi-v7a-emu.so'
I have installed the "ARM EABI v7a System Image" using the Android SDK manager. I can see the system.img file in C:\Users\\AppData\Local\Xamarin\MonoForAndroid\AndroidSDK\android-sdk-windows\system-images\android-14\armeabi-v7a.
I created an emulator using level 14 API, and this starts up and runs without problem. I modified the project properties to target Android 4.0 and the armeabi-v7a architecture. The app is simply the unmodified test app created automatically when you select the android application template. I am running Vista.
Can anyone shed some light on this?
Thanks, Stuart F.
The evaluation version does not allow you to build the armeabi-v7a version, because there was never a armeabi-v7a emulator until now, and the evaluation version only allows you to deploy to emulators.
Use the armeabi version, which should work fine on the armeabi-v7a emulator.

Titanium studio setup issue (multiple xcode/ios)

I was not able to build sample test app with iOS Simulator. Also I see only iphone is enabled and ipad is not. I have multiple xcode (4.0, 4.0.1, 3.2.5 and 3.2.1) installed on machine.
When I create a new app and build, it actually build to ios 3.1.3 as default. Here is my log http://pastebin.com/y9uX1RSz It finds all sdk and it quits the simulator as soon as it open.
There is an option to change the android sdk folder, but there is no alternative to change the ios SDK version in preferences.
I even try to modify the build deployment sdk to 4.2 with no luck. Also I see there are some plist (stylesheet.plist and debugger.plist) missing. And no demos (kitchensink) available as part of mobilesdk.
I've downloaded Titanium studio 1.0.1 which downloads mobilesdk 1.7.1 on its initial run.
It is the same with mobilesdk 1.7.2 which I've downloaded separately and copied to /library/Application support/Titanium
Update:
The issue is, I was not able to run a sample prj with iphone simulator. Ironically it works if I try to build with Android. The same mobile sdk works if I try from Titanium developer 1.2.2, but I was not able to develop or run sample code with Titanium studio.

Resources