TouchActionsService

Learn how to use BELLATRIX iOS TouchActionsService.

Example

[TestFixture] public class TouchActionsServiceTests : IOSTest {     [Test]     public void ElementSwiped_When_CallSwipeByCoordinatesMethod()     {         var textField = App.Components.CreateById<TextField>("IntegerA");         Point point = textField.Location;         Size size = textField.Size;          App.TouchActions.Swipe(             point.X + 5,             point.Y + 5,             point.X + size.Width - 5,             point.Y + size.Height - 5,             200);          App.TouchActions.Swipe(             point.X + size.Width - 5,             point.Y + 5,             point.X + 5,             point.Y + size.Height - 5,             2000);     }      [Test]     public void ElementTaped_When_CallTap()     {         var buttons = App.Components.CreateAllByClass<Button>("XCUIElementTypeButton");          App.TouchActions.Tap(buttons[0], 10).Perform();     }      [Test]     public void ElementSwiped_When_CallPressWaitMoveToAndReleaseByCoordinates()     {         var element = App.Components.CreateByName<Element>("AppElem");         int end = component.Size.Width;         int y = component.Location.Y;         int moveTo = (9 / 100) * end;          App.TouchActions.Press(moveTo, y, 0).Release().Perform();     }      [Test]     public void ElementSwiped_When_CallPressWaitMoveToAndReleaseByCoordinatesMultiAction()     {         var element = App.Components.CreateByName<Element>("AppElem");         int end = component.Size.Width;         int y = component.Location.Y;         int moveTo = (9 / 100) * end;          var swipe = App.TouchActions.Press(moveTo, y, 0).Release();         App.TouchActions.AddNewAction(swipe);         App.TouchActions.PerformAllActions();     }      [Test]     public void TwoTouchActionExecutedInOneMultiAction_When_CallPerformAllActions()     {         var buttons = App.Components.CreateAllByClass<Button>("XCUIElementTypeButton");          var tapOne = App.TouchActions.Tap(buttons[0], 10);         App.TouchActions.AddNewAction(tapOne);         App.TouchActions.AddNewAction(tapOne);         App.TouchActions.PerformAllActions();          var tapTwo = App.TouchActions.Tap(buttons[0], 10);         App.TouchActions.AddNewAction(tapTwo);         App.TouchActions.AddNewAction(tapTwo);         App.TouchActions.PerformAllActions();     } } 

Explanations

BELLATRIX gives you an interface for easier work with touch actions through TouchActionsService. Performing a series of touch actions can be one of the most complicated jobs in automating mobile apps. BELLATRIX touch APIs are simplified and made to be user-friendly as possible. Their usage can eliminate lots of code duplication and boilerplate code.

App.TouchActions.Swipe(     point.X + 5,     point.Y + 5,     point.X + size.Width - 5,     point.Y + size.Height - 5,     200); 

Performs swipe by using coordinates.

App.TouchActions.Tap(buttons[0], 10).Perform(); 

Tap 10 times using BELLATRIX UI element directly.

App.TouchActions.Press(moveTo, y, 0).Release().Perform(); 

Performs a series of actions using elements coordinates.

var swipe = App.TouchActions.Press(moveTo, y, 0).Release(); App.TouchActions.AddNewAction(swipe); App.TouchActions.PerformAllActions(); 

Performs multiple actions.

var tapOne = App.TouchActions.Tap(buttons[0], 10); App.TouchActions.AddNewAction(tapOne); App.TouchActions.AddNewAction(tapOne); App.TouchActions.PerformAllActions();  var tapTwo = App.TouchActions.Tap(buttons[0], 10); App.TouchActions.AddNewAction(tapTwo); App.TouchActions.AddNewAction(tapTwo); App.TouchActions.PerformAllActions(); 

Executes two multi actions.