-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathselenium observaciones.txt
69 lines (51 loc) · 2.87 KB
/
selenium observaciones.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
observaciones personles sobre los cimientos del comportamiento de selenium webdriver. Breves.
¿Qué ocurre cuando no se encuentran los elementos y se guardan en una lista?
El método findElements, no da error cuando no se encuentran elementos, por lo que
la lista queda simplemente vacía o en null. No hay errores.
¿Cómo se hace para mejorar la calidad del test?
Se deben agregar asserts para validar que el flujo del test es el que se espera y en caso
de que no lo sea, el test falle.
¿Cómo se hace para detectar cuando la lista está vacía?
Se puede asertar que el tamaño de la lista no sea 0. Con:
Assert.assertNotEquals(lista.size(), 0);
Ejercicio
Obtener todos los elementos cuya tagName sea “h112”.
¿Qué excepción se arroja?
Agregar asserts para validar que la lista se encuentre vacía.
List<WebElement> elementsList = driver.findElements(By.tagName("h112"));
Assert.assertTrue(elementsList.isEmpty() == false);
// isEmpty arroja true, si la lista está vacia…
// si la esta tiene elementos, isEmpty() es false…
// falso == falso.. Por lo tanto, la condición es verdadera, por lo que el
assert no fallará.. Porque estoy acertando en True, es decir, esperando que la
condicion sea verdadera..
Assert.assertFalse(elementsList.isEmpty() == true);
// si la lista está vacía… isEmpty == true… y true == true
Assert.assertFalse(elementsList.isEmpty() == true);
El test va a fallar porque estoy acertando que la condición sea falsa, si
condicion no es falsa, entonces, el assert fallará...
Assert.assertEquals(0, elementsList.size());
added comment to play with git checkout
Comenzando a automatizar usando Selenium y Cucumber:
Herramientas a instalar localmente en la máquina donde se correrán los tests:
Java JDK
Maven
Geckodriver
Internet Explorer Webdriver si se amerita (https://docs.seleniumhq.org/download/ )
Nota: Es preferible que todo se instale a través de instalador de paquetes de línea de comando, para que las variables de entorno sean configuradas en el momento en que se instalan los paquetes. Para Windows existe Chocolatey y para Mac homebrew
Para configurar el webdriver de IE es necesario pasarle como parámetros de configuración el directorio donde se encuentra el .exe, quedando de la siguiente manera:
System.setProperty("webdriver.ie.driver","c:\\Users\\jrinc\\Desktop\\IEDriverServer.exe");
También se debe habilitar el Modo Protegido para el navegador. Esto se hace abriendo internet explorer, botón de configuración, luego ir a opciones de internet, luego Seguridad y habilitar modo protegido para Internet, Intranet Local, Sitios de Confianza y Sitios Restringidos
Dependencias Maven utilizar:
junit
cucumber-java
cucumber-junit
selenium-java
maven-compiler-plugin
Herramientas de trabajo:
Algún IDE de tu preferencia (también se puede usar vim)
Ahora sí, comencemos, y esto se hace generando un proyecto Maven desde 0 a través del IDE.