Excelente pregunta!
Watir comenzó con WATIR-CLASSIC, que es solo para IE y no utiliza selenio-ruby -inding, simplemente maneja Internet Explorer a través del WIN32OLE.
Pero WATIR-WEBDRIVER que maneja el navegador usando selenium-ruby-binding.
Pero en este momento, este WATIR-CLASSIC está en desuso, y WATIR solo usa el enlace de selenio-rubí, así que si necesita
- Vivo en MA, EE. UU. Quiero adoptar un cachorro labrador. ¿Dónde puedo conseguir eso?
- Quiero obtener el set inicial de D&D. ¿Hay algo adicional que pueda necesitar durante o después de que haya terminado con el set inicial? Realmente no tengo idea de lo que estoy haciendo.
- Voy a Bakú el año que viene y estaré allí durante 1-5 años. Me gustaría saber cuáles son las ventajas y desventajas de Bakú. Consideraciones, opiniones?
- Necesito encontrar un abogado que me represente en los tribunales de reclamos menores. ¿Qué tipo de abogado hace esto? ¿Es derecho comercial?
- Parece que me vuelvo adicto a Quora, y pasé varias horas al día. ¿Qué debo hacer para evitar perder demasiado tiempo?
requiere ‘watir’
usa automáticamente el enlace webdriver, no clásico.
Entonces, la pregunta es, ¿qué significa esto cuando WATIR usa el enlace ruby-selenium?
La respuesta es que ahora WATIR es simplemente un envoltorio alrededor de este enlace de selenio rubí, nada más, el código real que está en ejecución es el enlace de selenio. Para un ejemplo,
Si escribe el siguiente código WATIR,
b.text_field (id: ‘something’). set ‘Raj’
entonces WATIR convierte automáticamente este código en el equivalente de selenio de
driver.find_element (id: ‘algo’). clear
driver.find_element (id: ‘algo’). send_keys ‘Raj’
Entonces, ¿cuáles son las ventajas de este envoltorio WATIR en torno al selenio? ¿Por qué no podemos usar directamente el enlace de selenio?
¡Hay muchos!
Por ejemplo, si usa la espera implícita de selenio, el selenio solo verifica si el elemento existe o no, pero WATIR hace cuatro comprobaciones si es un campo de texto. ¡hace tres comprobaciones si es un botón!
existe?
¿visible?
habilitado?
escribible? (Esto está incluido para text_field no para botón)
Entonces WATIR realiza estas cuatro comprobaciones antes de interactuar con un elemento en el DOM.
Y luego el problema de elementos obsoletos se corrige en WATIR,
Si las páginas se actualizan, el elemento se vuelve obsoleto, pero si está utilizando WATIR, WATIR recupera el elemento, el elemento nunca se vuelve obsoleto si usa WATIR
¿Eso es todo? No, todavía allí, no hay necesidad de escribir xpath en WATIR,
si simplemente escribe el siguiente código en WATIR
b.element (texto: ‘algo’). clic
entonces WATIR convierte esto en
driver.find_element (xpath: “//*[normalize-space()=’something’font>”).click
si simplemente escribes el siguiente código en watir
b.span (texto: ‘algo’). clic
entonces WATIR convierte esto en
driver.find_element (xpath: “//span[normalize-space()=’something’font>”).click
Por lo tanto, no es necesario escribir xpath, xpath muy complejo se puede escribir fácilmente en WATIR sin siquiera escribir xpath.
Entonces, si elige usar Ruby Binding en Selenium, no tiene que usar Selenium, puede usar WATIR, que es un buen envoltorio alrededor de Selenium.