Sé que esto es una pregunta más antiguo, pero pensé que iba a poner esta información por ahí para los demás.
Una de las cosas que me costó encontrar fue cómo utilizar PageFactory en C#. Especialmente para múltiples IWebElements. Si desea utilizar PageFactory aquí hay algunos ejemplos. Source: PageFactory.cs
Para declarar un html WebElement use esto dentro del archivo de clase.
private const string _ID ="CommonIdinHTML";
[FindsBy(How = How.Id, Using = _ID)]
private IList<IWebElement> _MultipleResultsByID;
private const string _ID2 ="IdOfElement";
[FindsBy(How = How.Id, Using = _ID2)]
private IWebElement _ResultById;
No se olvide de crear instancias de los elementos de la página de objetos al interior del constructor.
public MyClass(){
PageFactory.InitElements(driver, this);
}
Ahora puede acceder a ese elemento en cualquiera de sus archivos o métodos. También podemos tomar caminos relativos de esos elementos si lo deseamos. Yo prefiero pagefactory porque:
- yo no he que llamar directamente al conductor mediante driver.FindElement (By.Id ("id"))
- Los objetos son lazy initialized
I Úselo para escribir mi propia espera para los métodos de elementos, los envoltorios de WebElements para acceder solo a lo que necesito exponer a los scripts de prueba, y ayuda a mantener las cosas limpias.
Esto hace la vida mucho más fácil si tiene elementos dinámicos (autogerated) como listas de datos. Simplemente crea un contenedor que tomará IWebElements y agregará métodos para encontrar el elemento que está buscando.
Asumo que has mirado esto? http://seleniumhq.org/docs/03_webdriver.html#the-5-minute-getting-started-guide –
¿Has intentado googlear? De acuerdo, hay mucho, ¿quizás la mayor parte? - de material de Selenio relacionado con Java, pero definitivamente también hay tutoriales básicos de C#/VS/Selenium que responden a tu pregunta. –
He descargado los controladores C# y el IDE -> ¿Qué quieres decir con IDE? ¿Es para escribir el código de selenio C#? como Visual Studio. O, ¿es Selenium IDE? –