Xamarin.UITest Guides | Samples

Xamarin.UITest.Android.AndroidApp Class

Represents a running Android application.

See Also: AndroidApp

Syntax

public class AndroidApp : IApp

Requirements

Namespace: Xamarin.UITest.Android
Assembly: Xamarin.UITest (in Xamarin.UITest.dll)
Assembly Versions: 22.0.0.0

The members of Xamarin.UITest.Android.AndroidApp are listed below.

See Also: Object

Public Constructors

Main entry point for creating Android applications. Should not be called directly but instead be invoked through the use of ConfigureApp.

Public Properties

[read-only]
ConfigAndroidConfig. Contains runtime information about the currently running device.
[read-only]
DeviceAndroidDevice. Runtime information and control of the currently running device.
[read-only]
PrintAppPrintHelper. Contains helper methods for outputting the result of queries instead of resorting to Console.
[read-only]
TestServerITestServer. Allows HTTP access to the test server running on the device.

Public Methods

Back()
Presses the back button of the device.
ClearText()
Clears text from the currently focused element.
ClearText(Func<Xamarin.UITest.Queries.AppQuery, Xamarin.UITest.Queries.AppQuery>)
Clears text from a matching element that supports it.
ClearText(Func<Xamarin.UITest.Queries.AppQuery, Xamarin.UITest.Queries.AppWebQuery>)
Clears text from a matching element that supports it.
ClearText(String)
Clears text from a matching element that supports it.
DismissKeyboard()
Hides keyboard if present
DoubleTap(Func<Xamarin.UITest.Queries.AppQuery, Xamarin.UITest.Queries.AppQuery>)
Performs two quick tap / touch gestures on the matched element. If multiple elements are matched, the first one will be used.
DoubleTap(Func<Xamarin.UITest.Queries.AppQuery, Xamarin.UITest.Queries.AppWebQuery>)
Performs two quick tap / touch gestures on the matched element. If multiple elements are matched, the first one will be used. This version is specifically for queries on web views
DoubleTap(String)
Performs two quick tap / touch gestures on the matched element. If multiple elements are matched, the first one will be used.
DoubleTapCoordinates(Single, Single)
Performs a quick double tap / touch gesture on the given coordinates.
DragAndDrop(Func<Xamarin.UITest.Queries.AppQuery, Xamarin.UITest.Queries.AppQuery>, Func<Xamarin.UITest.Queries.AppQuery, Xamarin.UITest.Queries.AppQuery>)
> Performs a long touch on an item, followed by dragging the item to a second item and dropping it
DragAndDrop(String, String)
> Performs a long touch on an item, followed by dragging the item to a second item and dropping it
DragAndDrop(Func<Xamarin.UITest.Queries.AppQuery, Xamarin.UITest.Queries.AppQuery>, Func<Xamarin.UITest.Queries.AppQuery, Xamarin.UITest.Queries.AppQuery>, DropLocation, Nullable<TimeSpan>, Nullable<TimeSpan>, Int32, Action)
> Performs a long touch on an item, followed by dragging the item to a second item and dropping it
DragAndDrop(String, String, DropLocation, Nullable<TimeSpan>, Nullable<TimeSpan>, Int32, Action)
Performs a long touch on an item, followed by dragging the item to a second item and dropping it
DragCoordinates(Single, Single, Single, Single)
Performs a continuous drag gesture between 2 points.
EnterText(String)
Enters text into the currently focused element.
EnterText(Func<Xamarin.UITest.Queries.AppQuery, Xamarin.UITest.Queries.AppQuery>, String)
Enters text into a matching element that supports it.
EnterText(Func<Xamarin.UITest.Queries.AppQuery, Xamarin.UITest.Queries.AppWebQuery>, String)
Enters text into a matching element that supports it.
EnterText(String, String)
Enters text into a matching element that supports it.
Flash(Func<Xamarin.UITest.Queries.AppQuery, Xamarin.UITest.Queries.AppQuery>) : AppResult[]
Highlights the results of the query by making them flash. Specify view elements using the fluent API. Defaults to all view objects that are visible.
Flash(String) : AppResult[]
Highlights the results of the query by making them flash. Specify view elements using marked string.
Invoke(String, Object) : Object
Invokes a method on the app's main activity. For Xamarin apps, methods must be exposed using attributes as shown below. Android example in activity:

Example

             [Export]
             public string MyInvokeMethod(string arg)
             {
                 return "uitest";
             }
Invoke(String, Object[]) : Object
Invokes a method on the app's main activity. For Xamarin apps, methods must be exposed using attributes as shown below. Android example in activity:

Example

             [Export]
             public string MyInvokeMethod(string arg, string arg2)
             {
                 return "uitest";
             }
PinchToZoomIn(Func<Xamarin.UITest.Queries.AppQuery, Xamarin.UITest.Queries.AppQuery>, Nullable<TimeSpan>)
Performs a pinch gestures on the matched element to zoom the view in. If multiple elements are matched, the first one will be used.
PinchToZoomIn(String, Nullable<TimeSpan>)
Performs a pinch gestures on the matched element to zoom the view in. If multiple elements are matched, the first one will be used.
PinchToZoomInCoordinates(Single, Single, Nullable<TimeSpan>)
Performs a pinch gestures to zoom the view in on the given coordinates.
PinchToZoomOut(Func<Xamarin.UITest.Queries.AppQuery, Xamarin.UITest.Queries.AppQuery>, Nullable<TimeSpan>)
Performs a pinch gestures on the matched element to zoom the view out. If multiple elements are matched, the first one will be used.
PinchToZoomOut(String, Nullable<TimeSpan>)
Performs a pinch gestures on the matched element to zoom the view out. If multiple elements are matched, the first one will be used.
PinchToZoomOutCoordinates(Single, Single, Nullable<TimeSpan>)
Performs a pinch gestures to zoom the view in on the given coordinates.
PressEnter()
Presses the enter key in the app.
PressMenu()
Presses the menu button of the device.
PressUserAction(Nullable<UserAction>)
Presses the user action in the app.
PressVolumeDown()
Presses the volume down button on the device.
PressVolumeUp()
Presses the volume up button on the device.
Query(Func<Xamarin.UITest.Queries.AppQuery, Xamarin.UITest.Queries.AppQuery>) : AppResult[]
Queries view objects using the fluent API. Defaults to only return view objects that are visible.
Query(Func<Xamarin.UITest.Queries.AppQuery, Xamarin.UITest.Queries.AppWebQuery>) : AppWebResult[]
Queries web view objects using the fluent API. Defaults to only return view objects that are visible.
Query(Func<Xamarin.UITest.Queries.AppQuery, Xamarin.UITest.Queries.InvokeJSAppQuery>) : String[]
Invokes Javascript on view objects using the fluent API.
Query(String) : AppResult[]
Queries view objects using the fluent API. Defaults to only return view objects that are visible.
Query<T>(Func<Xamarin.UITest.Queries.AppQuery, Xamarin.UITest.Queries.AppTypedSelector<T>>) : T[]
Queries view objects values using the fluent API.
Repl()
Starts an interactive REPL (Read-Eval-Print-Loop) for app exploration and pauses test execution until it is closed.
Screenshot(String) : FileInfo
Takes a screenshot of the app in it's current state. This is used to denote test steps in the Xamarin Test Cloud.
ScrollDown(Func<Xamarin.UITest.Queries.AppQuery, Xamarin.UITest.Queries.AppQuery>, ScrollStrategy, Double, Int32, Boolean)
Scrolls down on the first element matching query.
ScrollDown(String, ScrollStrategy, Double, Int32, Boolean)
Scrolls down on the first element matching query.
ScrollDownTo(Func<Xamarin.UITest.Queries.AppQuery, Xamarin.UITest.Queries.AppQuery>, Func<Xamarin.UITest.Queries.AppQuery, Xamarin.UITest.Queries.AppQuery>, ScrollStrategy, Double, Int32, Boolean, Nullable<TimeSpan>)
Scroll down until an element that matches the toQuery is shown on the screen.
ScrollDownTo(Func<Xamarin.UITest.Queries.AppQuery, Xamarin.UITest.Queries.AppWebQuery>, Func<Xamarin.UITest.Queries.AppQuery, Xamarin.UITest.Queries.AppQuery>, ScrollStrategy, Double, Int32, Boolean, Nullable<TimeSpan>)
Scroll down until an element that matches the toQuery is shown on the screen.
ScrollDownTo(Func<Xamarin.UITest.Queries.AppQuery, Xamarin.UITest.Queries.AppWebQuery>, String, ScrollStrategy, Double, Int32, Boolean, Nullable<TimeSpan>)
Scroll down until an element that matches the toMarked is shown on the screen.
ScrollDownTo(String, String, ScrollStrategy, Double, Int32, Boolean, Nullable<TimeSpan>)
Scroll down until an element that matches the toMarked is shown on the screen.
ScrollLeft(Func<Xamarin.UITest.Queries.AppQuery, Xamarin.UITest.Queries.AppQuery>, ScrollStrategy, Double, Int32, Boolean)
Scrolls left on the first element matching query.
ScrollLeft(String, ScrollStrategy, Double, Int32, Boolean)
Scrolls left on the first element matching query.
ScrollLeftTo(Func<Xamarin.UITest.Queries.AppQuery, Xamarin.UITest.Queries.AppQuery>, Func<Xamarin.UITest.Queries.AppQuery, Xamarin.UITest.Queries.AppQuery>, ScrollStrategy, Double, Int32, Boolean, Nullable<TimeSpan>)
Scroll left until an element that matches the toQuery is shown on the screen.
ScrollLeftTo(Func<Xamarin.UITest.Queries.AppQuery, Xamarin.UITest.Queries.AppWebQuery>, Func<Xamarin.UITest.Queries.AppQuery, Xamarin.UITest.Queries.AppQuery>, ScrollStrategy, Double, Int32, Boolean, Nullable<TimeSpan>)
Scroll left until an element that matches the toQuery is shown on the screen.
ScrollLeftTo(Func<Xamarin.UITest.Queries.AppQuery, Xamarin.UITest.Queries.AppWebQuery>, String, ScrollStrategy, Double, Int32, Boolean, Nullable<TimeSpan>)
Scroll left until an element that matches the toMarked is shown on the screen.
ScrollLeftTo(String, String, ScrollStrategy, Double, Int32, Boolean, Nullable<TimeSpan>)
Scroll left until an element that matches the toMarked is shown on the screen.
ScrollRight(Func<Xamarin.UITest.Queries.AppQuery, Xamarin.UITest.Queries.AppQuery>, ScrollStrategy, Double, Int32, Boolean)
Scrolls right on the first element matching query.
ScrollRight(String, ScrollStrategy, Double, Int32, Boolean)
Scrolls right on the first element matching query.
ScrollRightTo(Func<Xamarin.UITest.Queries.AppQuery, Xamarin.UITest.Queries.AppQuery>, Func<Xamarin.UITest.Queries.AppQuery, Xamarin.UITest.Queries.AppQuery>, ScrollStrategy, Double, Int32, Boolean, Nullable<TimeSpan>)
Scroll right until an element that matches the toQuery is shown on the screen.
ScrollRightTo(Func<Xamarin.UITest.Queries.AppQuery, Xamarin.UITest.Queries.AppWebQuery>, Func<Xamarin.UITest.Queries.AppQuery, Xamarin.UITest.Queries.AppQuery>, ScrollStrategy, Double, Int32, Boolean, Nullable<TimeSpan>)
Scroll right until an element that matches the toQuery is shown on the screen.
ScrollRightTo(Func<Xamarin.UITest.Queries.AppQuery, Xamarin.UITest.Queries.AppWebQuery>, String, ScrollStrategy, Double, Int32, Boolean, Nullable<TimeSpan>)
Scroll right until an element that matches the toMarked is shown on the screen.
ScrollRightTo(String, String, ScrollStrategy, Double, Int32, Boolean, Nullable<TimeSpan>)
Scroll right until an element that matches the toMarked is shown on the screen.
ScrollTo(Func<Xamarin.UITest.Queries.AppQuery, Xamarin.UITest.Queries.AppWebQuery>, ScrollStrategy, Double, Int32, Boolean, Nullable<TimeSpan>)
Scroll until an element that matches the toQuery is shown on the screen.
ScrollTo(Func<Xamarin.UITest.Queries.AppQuery, Xamarin.UITest.Queries.AppQuery>, Func<Xamarin.UITest.Queries.AppQuery, Xamarin.UITest.Queries.AppQuery>, ScrollStrategy, Double, Int32, Boolean, Nullable<TimeSpan>)
Scroll until an element that matches the toQuery is shown on the screen.
ScrollTo(String, String, ScrollStrategy, Double, Int32, Boolean, Nullable<TimeSpan>)
Scroll until an element that matches the toMarked is shown on the screen.
ScrollToHorizontalEnd(Func<Xamarin.UITest.Queries.AppQuery, Xamarin.UITest.Queries.AppQuery>, ScrollStrategy, Double, Int32, Nullable<TimeSpan>)
Scroll the matching element so that its rightmost child element is visible. If multiple elements are matched, the first one will be used.
ScrollToHorizontalEnd(String, ScrollStrategy, Double, Int32, Nullable<TimeSpan>)
Scroll the matching element so that its rightmost child element is visible. If multiple elements are matched, the first one will be used.
ScrollToHorizontalStart(Func<Xamarin.UITest.Queries.AppQuery, Xamarin.UITest.Queries.AppQuery>, ScrollStrategy, Double, Int32, Nullable<TimeSpan>)
Scroll the matching element so that its leftmost child element is visible. If multiple elements are matched, the first one will be used. Entry point for the fluent API to specify the elements.Strategy for scrolling element. How far across the element to swipe (from 0.0 to 1.0). Ignored for programmatic scrolling. The speed of the gesture. Ignored for programmatic scrolling.The TimeSpan to wait before failing.
ScrollToHorizontalStart(String, ScrollStrategy, Double, Int32, Nullable<TimeSpan>)
Scroll the matching element so that its leftmost child element is visible. If multiple elements are matched, the first one will be used. Marked selector to select what element to scroll within. See AppQuery.Marked(String) for more information. Strategy for scrolling element. How far across the element to swipe (from 0.0 to 1.0). Ignored for programmatic scrolling. The speed of the gesture. Ignored for programmatic scrolling.The TimeSpan to wait before failing.
ScrollToVerticalEnd(Func<Xamarin.UITest.Queries.AppQuery, Xamarin.UITest.Queries.AppQuery>, ScrollStrategy, Double, Int32, Nullable<TimeSpan>)
Scroll the matching element so that its bottom child element is visible. If multiple elements are matched, the first one will be used.
ScrollToVerticalEnd(String, ScrollStrategy, Double, Int32, Nullable<TimeSpan>)
Scroll the matching element so that its bottom child element is visible. If multiple elements are matched, the first one will be used.
ScrollToVerticalStart(Func<Xamarin.UITest.Queries.AppQuery, Xamarin.UITest.Queries.AppQuery>, ScrollStrategy, Double, Int32, Nullable<TimeSpan>)
Scroll the matching element so that its top child element is visible. If multiple elements are matched, the first one will be used. Entry point for the fluent API to specify the elements.Strategy for scrolling element. How far across the element to swipe (from 0.0 to 1.0). Ignored for programmatic scrolling. The speed of the gesture. Ignored for programmatic scrolling.The TimeSpan to wait before failing.
ScrollToVerticalStart(String, ScrollStrategy, Double, Int32, Nullable<TimeSpan>)
Scroll the matching element so that its top child element is visible. If multiple elements are matched, the first one will be used. Marked selector to select what element to scroll within. See AppQuery.Marked(String) for more information. Strategy for scrolling element. How far across the element to swipe (from 0.0 to 1.0). Ignored for programmatic scrolling. The speed of the gesture. Ignored for programmatic scrolling.The TimeSpan to wait before failing.
ScrollUp(Func<Xamarin.UITest.Queries.AppQuery, Xamarin.UITest.Queries.AppQuery>, ScrollStrategy, Double, Int32, Boolean)
Scrolls up on the first element matching query.
ScrollUp(String, ScrollStrategy, Double, Int32, Boolean)
Scrolls up on the first element matching query.
ScrollUpTo(Func<Xamarin.UITest.Queries.AppQuery, Xamarin.UITest.Queries.AppQuery>, Func<Xamarin.UITest.Queries.AppQuery, Xamarin.UITest.Queries.AppQuery>, ScrollStrategy, Double, Int32, Boolean, Nullable<TimeSpan>)
Scroll up until an element that matches the toQuery is shown on the screen.
ScrollUpTo(Func<Xamarin.UITest.Queries.AppQuery, Xamarin.UITest.Queries.AppWebQuery>, Func<Xamarin.UITest.Queries.AppQuery, Xamarin.UITest.Queries.AppQuery>, ScrollStrategy, Double, Int32, Boolean, Nullable<TimeSpan>)
Scroll up until an element that matches the toQuery is shown on the screen.
ScrollUpTo(Func<Xamarin.UITest.Queries.AppQuery, Xamarin.UITest.Queries.AppWebQuery>, String, ScrollStrategy, Double, Int32, Boolean, Nullable<TimeSpan>)
Scroll up until an element that matches the toMarked is shown on the screen.
ScrollUpTo(String, String, ScrollStrategy, Double, Int32, Boolean, Nullable<TimeSpan>)
Scroll up until an element that matches the toMarked is shown on the screen.
SetOrientationLandscape()
Changes the current activity orientation to landscape mode.
SetOrientationPortrait()
Changes the current activity orientation to portrait mode.
SetSliderValue(Func<Xamarin.UITest.Queries.AppQuery, Xamarin.UITest.Queries.AppQuery>, Double)
Sets the value of a slider element that matches query.
SetSliderValue(String, Double)
Sets the value of a slider element that matches marked.
SwipeLeft()
Performs a right to left swipe gesture.
SwipeLeft(Func<Xamarin.UITest.Queries.AppQuery, Xamarin.UITest.Queries.AppQuery>)
Performs a right to left swipe gesture on the matching element. If multiple elements are matched, the first one will be used.
SwipeLeft(String)
Performs a right to left swipe gesture on the matching element. If multiple elements are matched, the first one will be used.
SwipeLeftToRight(Double, Int32, Boolean)
Performs a left to right swipe gesture.
SwipeLeftToRight(Func<Xamarin.UITest.Queries.AppQuery, Xamarin.UITest.Queries.AppQuery>, Double, Int32, Boolean)
Performs a left to right swipe gesture on the matching element. If multiple elements are matched, the first one will be used.
SwipeLeftToRight(Func<Xamarin.UITest.Queries.AppQuery, Xamarin.UITest.Queries.AppWebQuery>, Double, Int32, Boolean)
Performs a left to right swipe gesture on the matching element. If multiple elements are matched, the first one will be used.
SwipeLeftToRight(String, Double, Int32, Boolean)
Performs a left to right swipe gesture on the matching element. If multiple elements are matched, the first one will be used.
SwipeRight()
Performs a left to right swipe gesture.
SwipeRight(Func<Xamarin.UITest.Queries.AppQuery, Xamarin.UITest.Queries.AppQuery>)
Performs a left to right swipe gesture on the matching element. If multiple elements are matched, the first one will be used.
SwipeRight(String, Double, Int32, Boolean)
Performs a left to right swipe gesture on the matching element. If multiple elements are matched, the first one will be used.
SwipeRightToLeft(Double, Int32, Boolean)
Performs a right to left swipe gesture.
SwipeRightToLeft(Func<Xamarin.UITest.Queries.AppQuery, Xamarin.UITest.Queries.AppQuery>, Double, Int32, Boolean)
Performs a right to left swipe gesture on the matching element. If multiple elements are matched, the first one will be used.
SwipeRightToLeft(Func<Xamarin.UITest.Queries.AppQuery, Xamarin.UITest.Queries.AppWebQuery>, Double, Int32, Boolean)
Performs a left to right swipe gesture on the matching element. If multiple elements are matched, the first one will be used.
SwipeRightToLeft(String, Double, Int32, Boolean)
Performs a right to left swipe gesture on the matching element. If multiple elements are matched, the first one will be used.
Tap(Func<Xamarin.UITest.Queries.AppQuery, Xamarin.UITest.Queries.AppQuery>)
Performs a tap / touch gesture on the matched element. If multiple elements are matched, the first one will be used.
Tap(Func<Xamarin.UITest.Queries.AppQuery, Xamarin.UITest.Queries.AppWebQuery>)
Performs a tap / touch gesture on the matched element. If multiple elements are matched, the first one will be used.
Tap(String)
Performs a tap / touch gesture on the matched element. If multiple elements are matched, the first one will be used.
TapCoordinates(Single, Single)
Performs a tap / touch gesture on the given coordinates.
TouchAndHold(Func<Xamarin.UITest.Queries.AppQuery, Xamarin.UITest.Queries.AppQuery>)
Performs a continuous touch gesture on the matched element. If multiple elements are matched, the first one will be used.
TouchAndHold(String)
Performs a continuous touch gesture on the matched element. If multiple elements are matched, the first one will be used.
TouchAndHoldCoordinates(Single, Single)
Performs a continuous touch gesture on the given coordinates.
WaitFor(Func<bool>, String, Nullable<TimeSpan>, Nullable<TimeSpan>, Nullable<TimeSpan>)
Generic wait function that will repeatly call the predicate function until it returns true. Throws a TimeoutException if the predicate is not fullfilled within the time limit.
WaitForElement(Func<Xamarin.UITest.Queries.AppQuery, Xamarin.UITest.Queries.AppQuery>, String, Nullable<TimeSpan>, Nullable<TimeSpan>, Nullable<TimeSpan>) : AppResult[]
Wait function that will repeatly query the app until a matching element is found. Throws a TimeoutException if no element is found within the time limit.
WaitForElement(Func<Xamarin.UITest.Queries.AppQuery, Xamarin.UITest.Queries.AppWebQuery>, String, Nullable<TimeSpan>, Nullable<TimeSpan>, Nullable<TimeSpan>) : AppWebResult[]
Wait function that will repeatly query the app until a matching element is found. Throws a TimeoutException if no element is found within the time limit.
WaitForElement(String, String, Nullable<TimeSpan>, Nullable<TimeSpan>, Nullable<TimeSpan>) : AppResult[]
Wait function that will repeatly query the app until a matching element is found. Throws a TimeoutException if no element is found within the time limit.
WaitForNoElement(Func<Xamarin.UITest.Queries.AppQuery, Xamarin.UITest.Queries.AppQuery>, String, Nullable<TimeSpan>, Nullable<TimeSpan>, Nullable<TimeSpan>)
Wait function that will repeatly query the app until a matching element is no longer found. Throws a TimeoutException if the element is visible at the end of the time limit.
WaitForNoElement(Func<Xamarin.UITest.Queries.AppQuery, Xamarin.UITest.Queries.AppWebQuery>, String, Nullable<TimeSpan>, Nullable<TimeSpan>, Nullable<TimeSpan>)
Wait function that will repeatly query the app until a matching element is no longer found. Throws a TimeoutException if the element is visible at the end of the time limit.
WaitForNoElement(String, String, Nullable<TimeSpan>, Nullable<TimeSpan>, Nullable<TimeSpan>)
Wait function that will repeatly query the app until a matching element is no longer found. Throws a TimeoutException if the element is visible at the end of the time limit.

Explicitly Implemented Interface Members

[read-only]
AndroidApp$IApp.DeviceIDevice. Runtime information and control of the currently running device.