Closed IevgenRagulin closed 4 years ago
Calabash iOS Server and Test Cloud Agent are the same.
Microsoft has deprecated support for the Calabash iOS and Android cucumber ruby clients.
Xamarin.UITest has not been deprecated. DeviceAgent, iOSDeviceManager, Calabash iOS Server, and Calabash Android Test Server are all required by Xamarin.UITest, and as such they are still maintained by Microsoft.
I appreciate the question, but I don't appreciate that you cross-posted on Stack Overflow.
Please don't do that again.
Sorry for crossposting, I never realized this was an issue.
Thank you. The docs here: https://docs.microsoft.com/en-us/appcenter/test-cloud/uitest/preparing-for-upload-ios indicate that "linking Calabash" is required (the link in the docs goes to unsupported calabash-ios library). Do you know why it's necessary to do so to run the apps inside of Test Cloud? Do I need to do the same to run the tests in some other cloud?
I've also posted this question on Stackoverflow in a comment to your answer yesterday. Posting it hear too since I didn't get any response there.
Do you know why it's necessary to do so to run the apps inside of Test Cloud?
Xamarin.UITest is a client for Calabash Android and Calabash iOS (aka LPServer, Test Cloud Agent) test servers. Xamarin.UITest will not work without these servers.
Do I need to do the same to run the tests in some other cloud?
If you are using Xamarin.UITest, then yes, absolutely.
The docs here: https://docs.microsoft.com/en-us/appcenter/test-cloud/uitest/preparing-for-upload-ios indicate that "linking Calabash" is required (the link in the docs goes to unsupported calabash-ios library). Do you know why it's necessary to do so to run the apps inside of Test Cloud? Do I need to do the same to run the tests in some other cloud?
Xamarin.UITest is using the calabash SDK to communicate with the app so that it can be automated. Xamarin.UITest has always used Calabash under the hood.
Thank you for your responses!
The docs say:
Non-Xamarin.iOS apps are also supported by Xamarin.UITest, but instead of the Xamarin Test Cloud Agent require linking Calabash.
When I click the link, I get redirected to https://github.com/calabash/calabash-ios which is unsupported by Microsoft.
So, back to the original question - how can Microsoft claim to support Xamarin.UITest if it doesn't support calabash-ios which is required by Xamarin.UITest?
Xamarin.UITest requires the Calabash iOS Server. Xamarin.UITest does not require Calabash iOS (which is a ruby gem and itself a client for the Calabash iOS Server).
Microsoft is committed to supporting the maintenance and the development of the Xamarin.UITest stack which includes Calabash iOS and Android Servers, DeviceAgent.iOS, and iOSDeviceManager. If you look at the commit history, you will see that this is the case.
I don't know why the documentation links to the calabash-ios gem home page.
I see, I think this makes sense now, thank you. "linking Calabash" actually links calabash-ios-server into the app. I was under the impression it was required to link calabash-ios into the app because the steps for linking are located in the https://github.com/calabash/calabash-ios repo
According to https://github.com/calabash/calabash-ios , calabash-ios and calabash-android isn't supported by Microsoft any more, is it also true for calabash-ios-server?
https://www.nuget.org/packages/Xamarin.TestCloud.Agent/ references this github repo, are they the same thing?
As far as I know Xamarin UI is built on top of calabash. Microsoft claims to support Xamarin UI. How can Microsoft support Xamarin UITest if it doesn't support calabash any more?
We are using Xamarin UITest to test our React Native apps, can we reliably expect this setup to work in the future?