Element example:
[FindByCss("input[formcontrolname='name']")]
public TextInput<TOwner> NameInput { get; private set; }
Code that throws the error:
editProjectPage.NameInput.Hover();
After updating Selenium.WebDriver to v 4.3 on the test run returns such an error:
Error message:
System.MissingMethodException: 'Method not found: 'OpenQA.Selenium.Interactions.Actions OpenQA.Selenium.Interactions.Actions.MoveToElement(OpenQA.Selenium.IWebElement, Int32, Int32, OpenQA.Selenium.Interactions.MoveToElementOffsetOrigin)'.'
So far worked around with such a spike method:
public static void EmulateHover<TOwner>(IControl<TOwner> element) where TOwner : PageObject<TOwner>
{
var sourceElement = element.Scope;
var actions = new Actions(element.Context.Driver);
actions.ScrollToElement(sourceElement);
actions.MoveToElement(sourceElement);
actions.Build().Perform();
}
But in implementation, it looks... like a spike ;) Any suggestion if it will be fixed or am I doing something wrong?
Actions.MoveToElement(IWebElement, Int32, Int32, MoveToElementOffsetOrigin)
method was removed in WevDriver v4.3. Current Atata v2.0.1 uses that method to hover elements.
Let me upgrade Atata to WevDriver v4.3, solve that error by using another MoveToElement
method overload, and publish Atata v2.1.0. I'll update this answer after release.
Update
Atata v2.1.0 is released. Please update and verify whether Hover()
method works. It should be fine now.