InteractionsService
Learn how to use BELLATRIX InteractionService.
Example
[TestFixture]
[Browser(BrowserType.Chrome, Lifecycle.RestartEveryTime)]
public class InteractionsServiceTests : WebTest
{
[Test]
[Category(Categories.CI)]
public void DragAndDrop()
{
App.Navigation.Navigate("http://demos.bellatrix.solutions/");
Anchor protonRocketAnchor = App.Components.CreateByAttributesContaining<Anchor>("href", "/proton-rocket/");
Anchor protonMAnchor = App.Components.CreateByAttributesContaining<Anchor>("href", "/proton-m/");
App.Interactions.MoveToElement(protonRocketAnchor).DragAndDrop(protonRocketAnchor, protonMAnchor).Perform();
}
[Test]
[Category(Categories.CI)]
public void KeyUp()
{
App.Navigation.Navigate("http://demos.bellatrix.solutions/");
Anchor protonRocketAnchor = App.Components.CreateByAttributesContaining<Anchor>("href", "/proton-rocket/");
Anchor protonMAnchor = App.Components.CreateByAttributesContaining<Anchor>("href", "/proton-m/");
App.Interactions.MoveToElement(protonRocketAnchor).KeyUp(Keys.LeftShift).ContextClick().Perform();
}
}
Explanations
BELLATRIX gives you an interface for easier execution of complex UI interactions such as drag & drop, move to element, double click, etc. BELLATRIX interaction APIs are simplified and made to be as user-friendly as possible. Their usage can eliminate lots of code duplication and boilerplate code. You can access the interaction methods through the App class.
App.Interactions.MoveToElement(protonRocketAnchor).Perform();
You can chain more than one method. At the end of the method chain you need to call the Perform method.
App.Interactions.MoveToElement(protonRocketAnchor).KeyUp(Keys.LeftShift).ContextClick().Perform();
All Available Interaction Methods ———————————
- Release
- KeyDown
- KeyUp
- SendKeys
- Click
- ClickAndHold
- DoubleClick
- ContextClick
- DragAndDrop
- MoveToElement
- MoveByOffset
Playwright
When using KeyUp, or KeyDown methods, you pass the key as a string.