Comment faire pour convertir IWebElement dans Locator Selenium WebDriver Page Objects?Comment convertir Selenium IWebElement dans Selenium Locator By C#?
Je travaille comme ceci:
using OpenQA.Selenium.Support.PageObjects;
[FindsBy(How = How.Id, Using = "user")]
public IWebElement txtUser { get; set; }
public void fillUserField(string user)
{
wait.Until(ExpectedConditions.ElementIsVisible(By.Id("user")));
txtUser.SendKeys(user);
}
Je ne veux pas répéter l'ID « utilisateur » dans l'attente.
Je ne travaille pas comme ceci:
public void fillUserField(string user)
{ // TO DO - Convert IWebElement in Locator (BY)
//Argument1: Cannot convert from 'OpenQA.Selenium.IWebElement' to 'OpenQA.Selenium.By'
wait.Until(ExpectedConditions.**ElementIsVisible(txtUser)**);
txtUser.SendKeys(user);
}
Est-ce possible? Merci!
Si vous allez coller avec ce modèle, vous pouvez créer une méthode distincte qui prend 'IWebElement', le transmettre vos éléments (par exemple' txtUser'), puis gérer dans cette méthode avec une tentative d'attente jusqu'à ce que l'élément est trouvé/prêt/visible. Je ne vois pas comment faire attendre dans votre scénario sans dupliquer la chaîne de type Par locator. IMO, la solution idéale pour attendre sur les éléments est la suivante: http://stackoverflow.com/a/7312740/2246511 Mais je ne sais pas comment vous pourriez utiliser cela avec PageObjects. – jibbs