flights_gui_tests 0.9.1 → 0.9.2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/Gemfile +1 -0
- data/features/step_definitions/results/filters_steps.rb +13 -11
- data/features/support/classes/string.rb +8 -0
- data/features/support/modules/browser.rb +1 -1
- data/features/support/modules/results/itineraries/details.rb +12 -12
- data/features/tests/results/basefare.feature +6 -6
- data/features/tests/results/filters.feature +6 -6
- data/features/tests/results/itineraries.feature +6 -6
- data/features/tests/results/recommendation.feature +6 -0
- data/features/tests/results/search.feature +6 -6
- data/flights_gui_tests.gemspec +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 4e1f4a48a31a9ccf8be4a3f55b6138b3790e5d8c
|
4
|
+
data.tar.gz: 39b5c65b3c5b8773bd471cc29ed5fa8a919c9bb3
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: ea055bce5fe1ca972f9754e586d325ae6d352dccbae839f829456a71721da7a3a957b869fed6c7d134ad39ff2de064cfe0cd960a239e4f776e890d80da7f4172
|
7
|
+
data.tar.gz: 1c7dbca29fd5b706d2f22bf6e15d64720627980a5166cc4fc6c44ea9ad27f79c19adf83e63abca4963109f677fdc620f0ef19836aa02cd071429d41249a983bf
|
data/Gemfile
CHANGED
@@ -11,6 +11,7 @@ end
|
|
11
11
|
|
12
12
|
Cuando(/^elijo una aerolinea a aplicar$/) do
|
13
13
|
doc = Hpricot.parse(@page.html)
|
14
|
+
@page.ver_mas_aerolineas_element.click if @page.ver_mas_aerolineas_element.present?
|
14
15
|
options = (doc / 'div.ux-flights-filter-airlines')[0]
|
15
16
|
options = (options/"li.item").select { |option| !(option / "input")[0].attributes['id'].match(/airlines-unique|airlines-all/) and !(option / "input.ux-common-filter-disabled")[0]}
|
16
17
|
@airline = options[rand(options.length)]
|
@@ -18,7 +19,6 @@ Cuando(/^elijo una aerolinea a aplicar$/) do
|
|
18
19
|
end
|
19
20
|
|
20
21
|
Entonces(/^filtro por aerolinea$/) do
|
21
|
-
@page.ver_mas_aerolineas_element.click if @page.ver_mas_aerolineas_element.present?
|
22
22
|
@page.browser.checkbox(:id, (@airline / 'input').first.attributes['id']).set
|
23
23
|
end
|
24
24
|
|
@@ -267,17 +267,19 @@ end
|
|
267
267
|
Entonces(/^(?:verifico|valido) que la primer pagina muestre correctamente los filtros de precio$/) do
|
268
268
|
sleep(1)
|
269
269
|
doc = Hpricot.parse(@page.html)
|
270
|
-
|
271
|
-
|
272
|
-
|
273
|
-
|
274
|
-
|
275
|
-
|
276
|
-
|
277
|
-
|
278
|
-
|
270
|
+
unless (doc/"div#clusters").first.attributes['style'].match("none")
|
271
|
+
@page.reset_itinerarios
|
272
|
+
@page.cargar_itinerarios
|
273
|
+
@page.datos_de_itinerarios.each do |itinerario|
|
274
|
+
if AllPages.site.match("MX|UY|PE|BR|CR|PA")
|
275
|
+
itinerario.tarifas['tarifa_adulto'].value.should es_mayor_igual_que(@price_down)
|
276
|
+
itinerario.tarifas['tarifa_adulto'].value.should es_menor_igual_que(@price_up)
|
277
|
+
else
|
278
|
+
itinerario.tarifas['total'].value.should es_mayor_igual_que(@price_down)
|
279
|
+
itinerario.tarifas['total'].value.should es_menor_igual_que(@price_up)
|
280
|
+
end
|
279
281
|
end
|
280
|
-
end
|
282
|
+
end
|
281
283
|
end
|
282
284
|
|
283
285
|
Entonces(/^filtro por precio menor$/) do
|
@@ -55,11 +55,11 @@ module Results
|
|
55
55
|
|
56
56
|
def reglas_de_vuelo()
|
57
57
|
popup = popup_detail_element
|
58
|
-
popup.div(:class,'top-box').a(:class,'show-rules').
|
59
|
-
popup.div(:class,'detail').div(:class,'detail-footer').div(:class,'rules').should_not visible
|
60
|
-
popup.div(:class,'top-box').a(:class,'show-rules').click
|
61
|
-
popup.div(:class,'detail').div(:class,'detail-footer').div(:class,'rules').should visible
|
62
|
-
popup.div(:class,'detail').div(:class,'detail-footer').div(:class,'rules').div(:class,'text').text.strip.no_accents.should match(/The ticket you are booking is subject to the airline rules and restrictions|El boleto que usted esta comprando est.{1,2} sujeto a reglas y restricciones impuestas por la aerol.{1,2}nea transportadora|No incluye impuestos, no reembolsable, aplica penalidad|Estos tickets No permiten cambios NI devoluciones parciales|O bilhete que voc.{1,2} est.{1,2} para adquirir est.{1,2} sujeito a regras e restri.{1,2}.{1,2}es impostas pela companhia a.{1,2}rea transportadora/)
|
58
|
+
popup.div(:class,'top-box').a(:class,'show-rules').should_not visible
|
59
|
+
# popup.div(:class,'detail').div(:class,'detail-footer').div(:class,'rules').should_not visible
|
60
|
+
# popup.div(:class,'top-box').a(:class,'show-rules').click
|
61
|
+
# popup.div(:class,'detail').div(:class,'detail-footer').div(:class,'rules').should visible
|
62
|
+
# popup.div(:class,'detail').div(:class,'detail-footer').div(:class,'rules').div(:class,'text').text.strip.no_accents.should match(/The ticket you are booking is subject to the airline rules and restrictions|El boleto que usted esta comprando est.{1,2} sujeto a reglas y restricciones impuestas por la aerol.{1,2}nea transportadora|No incluye impuestos, no reembolsable, aplica penalidad|Estos tickets No permiten cambios NI devoluciones parciales|O bilhete que voc.{1,2} est.{1,2} para adquirir est.{1,2} sujeito a regras e restri.{1,2}.{1,2}es impostas pela companhia a.{1,2}rea transportadora/)
|
63
63
|
end
|
64
64
|
|
65
65
|
def rutas_ida(itinerario)
|
@@ -83,21 +83,21 @@ module Results
|
|
83
83
|
end
|
84
84
|
|
85
85
|
def new_cerrar_popup(route)
|
86
|
-
route.li(:class,'detail').
|
86
|
+
route.li(:class,'detail').span(:class,'itinerary-detail-hide').click
|
87
87
|
sleep(0.5)
|
88
88
|
end
|
89
89
|
|
90
90
|
def new_reglas_de_vuelo(i)
|
91
91
|
popup = new_popup_detail_elements[i]
|
92
|
-
popup.div(:class,'top-box').a(:class,'show-rules show-cluster-rules').
|
93
|
-
popup.div(:class,'rules').should_not visible
|
94
|
-
popup.div(:class,'top-box').a(:class,'show-rules show-cluster-rules').click
|
95
|
-
popup.div(:class,'rules').should visible
|
96
|
-
popup.div(:class,'rules').div(:class,'text').text.strip.no_accents.should match(/The ticket you are booking is subject to the airline rules and restrictions|El boleto que usted esta comprando est.{1,2} sujeto a reglas y restricciones impuestas por la aerol.{1,2}nea transportadora|No incluye impuestos, no reembolsable, aplica penalidad|Estos tickets No permiten cambios NI devoluciones parciales|O bilhete que voc.{1,2} est.{1,2} para adquirir est.{1,2} sujeito a regras e restri.{1,2}.{1,2}es impostas pela companhia a.{1,2}rea transportadora/)
|
92
|
+
popup.div(:class,'top-box').a(:class,'show-rules show-cluster-rules').should_not visible
|
93
|
+
# popup.div(:class,'rules').should_not visible
|
94
|
+
# popup.div(:class,'top-box').a(:class,'show-rules show-cluster-rules').click
|
95
|
+
# popup.div(:class,'rules').should visible
|
96
|
+
# popup.div(:class,'rules').div(:class,'text').text.strip.no_accents.should match(/The ticket you are booking is subject to the airline rules and restrictions|El boleto que usted esta comprando est.{1,2} sujeto a reglas y restricciones impuestas por la aerol.{1,2}nea transportadora|No incluye impuestos, no reembolsable, aplica penalidad|Estos tickets No permiten cambios NI devoluciones parciales|O bilhete que voc.{1,2} est.{1,2} para adquirir est.{1,2} sujeito a regras e restri.{1,2}.{1,2}es impostas pela companhia a.{1,2}rea transportadora/)
|
97
97
|
end
|
98
98
|
|
99
99
|
def new_recorrer_segmentos(route,cluster,i)
|
100
|
-
|
100
|
+
route.li(:class,'detail').links[0].click
|
101
101
|
new_popup_detail_elements[i].when_visible(timeout=20)
|
102
102
|
doc = Hpricot.parse(new_popup_detail_elements[i].html)
|
103
103
|
detail = NewDetailsCluster.new(doc)
|
@@ -11,13 +11,13 @@ Característica: results.basefare
|
|
11
11
|
Entonces verifico que la pagina no rompa
|
12
12
|
Cuando espero que termine de cargar la pagina de resultados
|
13
13
|
Entonces verifico que traiga resultados
|
14
|
-
Cuando si el site es "CO", defino cluster a utilizar
|
14
|
+
Cuando si el site es "CO|BR", defino cluster a utilizar
|
15
15
|
Cuando si el site es "MX", fuerzo el abztesting de "filters" al "15"
|
16
|
-
Y si el site es "CO|MX", ingreso una busqueda '<tipo>' del tipo '<cabotage>'
|
17
|
-
Y si el site es "CO|MX", realizo la busqueda
|
18
|
-
Cuando si el site es "CO|MX", verifico que la pagina no rompa
|
19
|
-
Cuando si el site es "CO|MX", espero que termine de cargar la pagina de resultados
|
20
|
-
Entonces si el site es "CO|MX", verifico que traiga resultados
|
16
|
+
Y si el site es "CO|MX|BR", ingreso una busqueda '<tipo>' del tipo '<cabotage>'
|
17
|
+
Y si el site es "CO|MX|BR", realizo la busqueda
|
18
|
+
Cuando si el site es "CO|MX|BR", verifico que la pagina no rompa
|
19
|
+
Cuando si el site es "CO|MX|BR", espero que termine de cargar la pagina de resultados
|
20
|
+
Entonces si el site es "CO|MX|BR", verifico que traiga resultados
|
21
21
|
Y verifico los textos de las opciones del combo
|
22
22
|
Y verifico las ociones de ordenamiento
|
23
23
|
Entonces elijo moneda local
|
@@ -11,14 +11,14 @@ Característica: results.filters
|
|
11
11
|
Entonces verifico que la pagina no rompa
|
12
12
|
Cuando espero que termine de cargar la pagina de resultados
|
13
13
|
Entonces verifico que traiga resultados
|
14
|
-
Cuando si el site es "CO", defino cluster a utilizar
|
14
|
+
Cuando si el site es "CO|BR", defino cluster a utilizar
|
15
15
|
Cuando si el site es "MX", fuerzo el abztesting de "filters" al "88"
|
16
16
|
Cuando si el site es "MX", fuerzo el abztesting de "breakdown" al "88"
|
17
|
-
Y si el site es "CO|MX", ingreso una busqueda '<tipo>' del tipo '<cabotage>'
|
18
|
-
Y si el site es "CO|MX", realizo la busqueda
|
19
|
-
Cuando si el site es "CO|MX", verifico que la pagina no rompa
|
20
|
-
Cuando si el site es "CO|MX", espero que termine de cargar la pagina de resultados
|
21
|
-
Entonces si el site es "CO|MX", verifico que traiga resultados
|
17
|
+
Y si el site es "CO|MX|BR", ingreso una busqueda '<tipo>' del tipo '<cabotage>'
|
18
|
+
Y si el site es "CO|MX|BR", realizo la busqueda
|
19
|
+
Cuando si el site es "CO|MX|BR", verifico que la pagina no rompa
|
20
|
+
Cuando si el site es "CO|MX|BR", espero que termine de cargar la pagina de resultados
|
21
|
+
Entonces si el site es "CO|MX|BR", verifico que traiga resultados
|
22
22
|
Cuando verifico que el cambio de moneda no muestre limpiar filtros
|
23
23
|
Entonces elijo moneda local
|
24
24
|
Cuando si el site es "PE", elijo moneda local como precio de filtrado
|
@@ -11,13 +11,13 @@ Característica: results.itineraries
|
|
11
11
|
Entonces verifico que la pagina no rompa
|
12
12
|
Cuando espero que termine de cargar la pagina de resultados
|
13
13
|
Entonces verifico que traiga resultados
|
14
|
-
Cuando si el site es "CO", defino cluster a utilizar
|
14
|
+
Cuando si el site es "CO|BR", defino cluster a utilizar
|
15
15
|
Cuando si el site es "MX", fuerzo el abztesting de "filters" al "15"
|
16
|
-
Y si el site es "MX|CO", ingreso una busqueda '<tipo>' del tipo '<cabotage>'
|
17
|
-
Y si el site es "MX|CO", realizo la busqueda
|
18
|
-
Cuando si el site es "MX|CO", verifico que la pagina no rompa
|
19
|
-
Cuando si el site es "MX|CO", espero que termine de cargar la pagina de resultados
|
20
|
-
Entonces si el site es "MX|CO", verifico que traiga resultados
|
16
|
+
Y si el site es "MX|CO|BR", ingreso una busqueda '<tipo>' del tipo '<cabotage>'
|
17
|
+
Y si el site es "MX|CO|BR", realizo la busqueda
|
18
|
+
Cuando si el site es "MX|CO|BR", verifico que la pagina no rompa
|
19
|
+
Cuando si el site es "MX|CO|BR", espero que termine de cargar la pagina de resultados
|
20
|
+
Entonces si el site es "MX|CO|BR", verifico que traiga resultados
|
21
21
|
Cuando si el site es "MX|AR", verifico el ordenamiento premium economy
|
22
22
|
Cuando ordeno por "TOTALFARE_ASCENDING"
|
23
23
|
Cuando espero que termine de cargar la pagina de resultados
|
@@ -52,6 +52,12 @@ Característica: results.recommendation
|
|
52
52
|
Entonces verifico que la pagina no rompa
|
53
53
|
Cuando espero que termine de cargar la pagina de resultados
|
54
54
|
Entonces verifico que traiga resultados
|
55
|
+
Cuando defino cluster a utilizar
|
56
|
+
Y ingreso una busqueda '<tipo>' del tipo '<cabotage>'
|
57
|
+
Y realizo la busqueda
|
58
|
+
Cuando verifico que la pagina no rompa
|
59
|
+
Cuando espero que termine de cargar la pagina de resultados
|
60
|
+
Entonces verifico que traiga resultados
|
55
61
|
Y cierro popups
|
56
62
|
Cuando hago click en el icono de enviar recomendacion
|
57
63
|
Entonces verifico que cargue el contenido del popup
|
@@ -12,12 +12,12 @@ Característica: results.search
|
|
12
12
|
Cuando espero que termine de cargar la pagina de resultados
|
13
13
|
Entonces verifico que traiga resultados
|
14
14
|
Cuando si el site es "PE", fuerzo el abztesting de "showFreeCancelMessage" al "11"
|
15
|
-
Cuando si el site es "CO", defino cluster a utilizar
|
16
|
-
* si el site es "CO|PE", ingreso una busqueda '<tipo>' del tipo '<cabotage>'
|
17
|
-
Cuando si el site es "CO|PE", realizo la busqueda
|
18
|
-
Entonces si el site es "CO|PE", verifico que la pagina no rompa
|
19
|
-
Cuando si el site es "CO|PE", espero que termine de cargar la pagina de resultados
|
20
|
-
Entonces si el site es "CO|PE", verifico que traiga resultados
|
15
|
+
Cuando si el site es "CO|BR", defino cluster a utilizar
|
16
|
+
* si el site es "CO|PE|BR", ingreso una busqueda '<tipo>' del tipo '<cabotage>'
|
17
|
+
Cuando si el site es "CO|PE|BR", realizo la busqueda
|
18
|
+
Entonces si el site es "CO|PE|BR", verifico que la pagina no rompa
|
19
|
+
Cuando si el site es "CO|PE|BR", espero que termine de cargar la pagina de resultados
|
20
|
+
Entonces si el site es "CO|PE|BR", verifico que traiga resultados
|
21
21
|
Cuando si el site es "AR|BR", levanto los tag que deben mostrarse segun la ciudad buscada para una busqueda "<tipo>"
|
22
22
|
Entonces si el site es "AR|BR", verifico que se muestre en el codigo fuente
|
23
23
|
Y si el site es "PE", verifico el banner de cancelacion en el dia en resultados
|
data/flights_gui_tests.gemspec
CHANGED
@@ -14,7 +14,7 @@ Gem::Specification.new do |gem|
|
|
14
14
|
|
15
15
|
gem.require_paths = ["lib"] # Usualmente es solo lib -> ["lib"]
|
16
16
|
|
17
|
-
gem.version = '0.9.
|
17
|
+
gem.version = '0.9.2' # La version se debe incrementar cada vez que se desea publicar una nueva version del test.
|
18
18
|
|
19
19
|
gem.add_dependency('henry-container', '>= 0.1.39')
|
20
20
|
gem.add_dependency('page-object')
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: flights_gui_tests
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.9.
|
4
|
+
version: 0.9.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- lgonzalez
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2015-01-
|
11
|
+
date: 2015-01-12 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: henry-container
|