As a developer we all know about that rumor of writing any kind of test is a costly task. In this post I would like to show you a better way for writing UI tests that even makes it fun when it comes to a very large mobile app.
To get a propper set of tests for an application we normaly have to specify what we want to test, we have to create the test cases, classes and what ever is involved to test our application.
With Xamarin Test Cloud you can fill your test cases with life through a REPL command line tool. With REPL you start navigating through your app by querying each screen for contained UI controls and later operate on them.
A simple test for a login button would look like this:
[TestFixture]
public class TelematicsDroidTest
{
IApp _app;
[Test]
public void LoginAsDemoUser()
{
Func<AppQuery,AppQuery> demoLoginButton = e => e.Id("Logon_LoginDemo_Button");
Func<AppQuery, AppQuery> mainFragmentContainer = e => e.Id("Main_FragmentContainer");
_app.WaitForElement(demoLoginButton, "Timed out waiting for the Login_LoginDemo_Button to appear.");
_app.Tap(demoLoginButton);
_app.WaitForElement(mainFragmentContainer, "Timed out waiting for the Main_FragmentContainer to appear.");
_app.Screenshot("Screennshot_after_press_Login_Button");
}
}
What is not visible is the amount of time to get there. Remember, you normaly would test this with REPL first, later copy it into the test case, try it localy again and as the last step upload it to Xamarins Test Cloud. While this is easily understandable for software developers, a tester might not be into that kind of time consuming test creation process.
With the launch of Xamarin 4, which contains tons of improvements to the Xamarin ecosystem in general, comes my favorite feature called Xamarin Test Recorder.
Xamarin Test Recorder makes UI testing very easy no matter if you are at the beginning of UI testing or just want to have additional tests for your app. Why does it improve the creation of UI tests:
Als Mobile-Enthusiast und Geschäftsführer der Cayas Software GmbH ist es mir ein großes Anliegen, mein Team und unsere Kunden zu unterstützen, neue potenziale zu entdecken und gemeinsam zu wachsen. Hier schreibe ich vor allem zur Entwicklung von Android und iOS-Apps mit Xamarin und .NET MAUI.
Like what you read? Come work with us.
Learn why your Xamarin Android build fails with "Error executing task Aapt: VersionCode is outside 0, 65535 interval" and how to workaround that issue.
I am currently working on porting a Xamarin Forms app to DOTNET MAUI. The app also uses maps from Apple or Google Maps to display locations. Even though there was no official support in MAUI until the release of .NET 7, I want to show you a way to display maps via custom handler.
Matt Goldman revived #XamarinUIJuly and renamed it to #MAUIUIJuly, where each day in July someone from the .NET MAUI community publishes a blog post or video showing some incredible UI magic in MAUI. In this contribution I will show you how to combine Lottie animations with gestures and scrollable containers to spice up your .NET MAUI App UI!