flights_gui_tests 0.9.1 → 0.9.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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
|