flights_gui_tests 0.2.9 → 0.3.0
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/features/step_definitions/checkout/cash_payment_steps.rb +4 -4
- data/features/step_definitions/checkout/checkout_steps.rb +1 -1
- data/features/step_definitions/checkout/compra_duplicada_steps.rb +2 -2
- data/features/step_definitions/checkout/cupones_steps.rb +2 -2
- data/features/step_definitions/checkout/error_messages_steps.rb +9 -9
- data/features/step_definitions/checkout/fast_checkout_steps.rb +2 -2
- data/features/step_definitions/checkout/load_steps.rb +2 -2
- data/features/step_definitions/checkout/price_jump_steps.rb +2 -2
- data/features/step_definitions/checkout/upselling_steps.rb +5 -5
- data/features/step_definitions/checkout/verifications_steps.rb +6 -6
- data/features/step_definitions/desambiguation_steps.rb +8 -8
- data/features/step_definitions/flights_tracker/flights_tracker_steps.rb +2 -2
- data/features/step_definitions/landing/filters_steps.rb +1 -1
- data/features/step_definitions/landing/itineraries_steps.rb +4 -4
- data/features/step_definitions/landing/landing_steps.rb +8 -8
- data/features/step_definitions/landing/load_steps.rb +2 -2
- data/features/step_definitions/landing/long_tail_steps.rb +6 -6
- data/features/step_definitions/landing/negative_steps.rb +16 -16
- data/features/step_definitions/landing/new_landing_steps.rb +6 -6
- data/features/step_definitions/results/basefare_steps.rb +4 -4
- data/features/step_definitions/results/errors_steps.rb +1 -1
- data/features/step_definitions/results/filters_steps.rb +10 -10
- data/features/step_definitions/results/load_steps.rb +27 -49
- data/features/step_definitions/results/matrix_steps.rb +15 -15
- data/features/step_definitions/results/new_filters_steps.rb +9 -9
- data/features/step_definitions/results/order_steps.rb +5 -5
- data/features/step_definitions/results/pagination_steps.rb +2 -2
- data/features/step_definitions/results/recommendation_steps.rb +11 -11
- data/features/step_definitions/results/results_steps.rb +4 -4
- data/features/step_definitions/tags_steps.rb +17 -17
- data/features/step_definitions/thanks/load_steps.rb +2 -2
- data/features/step_definitions/thanks/thanks_steps.rb +4 -4
- data/features/support/env.rb +3 -0
- data/features/support/hooks.rb +1 -1
- data/features/support/modules/helpers.rb +7 -0
- data/features/support/pages/all_pages.rb +8 -0
- data/features/support/pages/results/search_page.rb +13 -0
- data/features/tests/checkout/book_ok.feature +6 -2
- data/features/tests/checkout/cac.feature +6 -2
- data/features/tests/checkout/cash_payment.feature +3 -1
- data/features/tests/checkout/checkout_gui_last_minute.feature +60 -0
- data/features/tests/checkout/compatibility.feature +3 -1
- data/features/tests/checkout/compras_duplicadas.feature +6 -2
- data/features/tests/checkout/cupones.feature +3 -1
- data/features/tests/checkout/error_messages.feature +6 -2
- data/features/tests/checkout/fast_checkout.feature +6 -2
- data/features/tests/checkout/low_cost.feature +6 -4
- data/features/tests/checkout/online_payment.feature +3 -1
- data/features/tests/checkout/price_jump.feature +6 -2
- data/features/tests/checkout/providers.feature +7 -6
- data/features/tests/checkout/seguros.feature +5 -4
- data/features/tests/results/basefare.feature +3 -1
- data/features/tests/results/desambiguation/city.feature +3 -1
- data/features/tests/results/errors.feature +6 -4
- data/features/tests/results/filters.feature +4 -2
- data/features/tests/results/itineraries.feature +3 -1
- data/features/tests/results/matrix/matrix_airlines.feature +3 -1
- data/features/tests/results/matrix/matrix_fare_chart.feature +5 -3
- data/features/tests/results/matrix/matrix_price.feature +3 -1
- data/features/tests/results/new_filters.feature +14 -2
- data/features/tests/results/orders.feature +3 -1
- data/features/tests/results/pagination.feature +3 -1
- data/features/tests/results/recommendation.feature +9 -3
- data/features/tests/results/reviews_airlines.feature +3 -1
- data/features/tests/results/search.feature +3 -2
- data/features/tests/results/wish_list.feature +3 -1
- data/flights_gui_tests.gemspec +2 -1
- data/henry-context.yml +33 -4
- metadata +17 -3
- data/features/step_definitions/popup_navigator_steps.rb +0 -8
@@ -35,12 +35,12 @@ Entonces(/^espero que termine de cargar la pagina de landing$/) do
|
|
35
35
|
sleep(5)
|
36
36
|
end
|
37
37
|
|
38
|
-
Y(/^verifico que traiga resultados de landing$/) do
|
38
|
+
Y(/^(?:verifico|valido) que traiga resultados de landing$/) do
|
39
39
|
pending(@page.mensaje_sin_resultados) if @page.mensaje_sin_resultados_element.present?
|
40
40
|
@page.simbolo_error_element.should_not visible
|
41
41
|
end
|
42
42
|
|
43
|
-
Y(/^verifico la pagina donde ingresa$/) do
|
43
|
+
Y(/^(?:verifico|valido) la pagina donde ingresa$/) do
|
44
44
|
@page_results = Results::SearchPage.new($browser)
|
45
45
|
@page_checkout = Checkout::CheckoutPage.new($browser)
|
46
46
|
puts " URL: #{@page.url}"
|
@@ -1,5 +1,5 @@
|
|
1
1
|
# encoding: utf-8
|
2
|
-
Entonces(/^verifico las nuevas urls de vuelos a destino por aerolinea$/) do
|
2
|
+
Entonces(/^(?:verifico|valido) las nuevas urls de vuelos a destino por aerolinea$/) do
|
3
3
|
doc = Hpricot.parse(@page.html)
|
4
4
|
options = (doc/"div.ux-flights-filter-airlines")[0]
|
5
5
|
options = (options/"li.item").select { |option| !(option / "input")[0].attributes['id'].match(/airlines-unique|airlines-all/) }
|
@@ -9,7 +9,7 @@ Entonces(/^verifico las nuevas urls de vuelos a destino por aerolinea$/) do
|
|
9
9
|
@page.ir(@page.manage_data.generate_url_landing_airline(code,@arrival))
|
10
10
|
end
|
11
11
|
|
12
|
-
Entonces(/^verifico que aparezcan los links propuestos de vuelos a destino por aerolinea$/) do
|
12
|
+
Entonces(/^(?:verifico|valido) que aparezcan los links propuestos de vuelos a destino por aerolinea$/) do
|
13
13
|
doc = Hpricot.parse(@page.html)
|
14
14
|
if (doc/"div#seo-links div.category h4.category-title").inner_text.match(/Vuelos a destino por aerolinea|Passagens para destino com Cia A.{1,2}rea|Flights to destination on airline/)
|
15
15
|
links = (doc/"div#seo-links ul.list li.item a").select{|a| a.attributes['href'].match(/#{@page.manage_data.host()}\/(vuelos|passagens-aereas|fligths)\/(aerolinea|companhiasaerea)\/(\D{3})\/(..)\/(vuelos|passagens-aereas)-(a|da)-(.+)-(por|para)-(.+)/)}
|
@@ -17,7 +17,7 @@ Entonces(/^verifico que aparezcan los links propuestos de vuelos a destino por a
|
|
17
17
|
end
|
18
18
|
end
|
19
19
|
|
20
|
-
Y(/^verifico que aparezcan los links propuestos de vuelos a destino por aeropuerto de llegada$/) do
|
20
|
+
Y(/^(?:verifico|valido) que aparezcan los links propuestos de vuelos a destino por aeropuerto de llegada$/) do
|
21
21
|
doc = Hpricot.parse(@page.html)
|
22
22
|
if (doc/"div#seo-links div.category h4.category-title").inner_text.match(/Vuelos a aeropuertos|Passagens para o Aeroporto|Flights to airport/)
|
23
23
|
links = (doc/"div#seo-links ul.list li.item a").select{|a| a.attributes['href'].match(/#{@page.manage_data.host()}\/(vuelos|passagens-aereas|fligths)\/(aeropuerto|aeroporto|airport)\/(\D{3})\/(voos-para-aeroporto|vuelos-a)(.+)/)}
|
@@ -25,7 +25,7 @@ Y(/^verifico que aparezcan los links propuestos de vuelos a destino por aeropuer
|
|
25
25
|
end
|
26
26
|
end
|
27
27
|
|
28
|
-
Entonces(/^verifico las nuevas urls de vuelos a destino por aeropuerto de llegada$/) do
|
28
|
+
Entonces(/^(?:verifico|valido) las nuevas urls de vuelos a destino por aeropuerto de llegada$/) do
|
29
29
|
doc = Hpricot.parse(@page.html)
|
30
30
|
options = (doc/"div.ux-flights-filter-destinyairports li.item").select { |option| !(option / "input")[0].attributes['id'].match(/airport-inbound-all|airport-inbound-unique/)}
|
31
31
|
@airport = options[rand(options.length)]
|
@@ -33,7 +33,7 @@ Entonces(/^verifico las nuevas urls de vuelos a destino por aeropuerto de llegad
|
|
33
33
|
@page.ir(@page.manage_data.generate_url_landing_arrival_airport((@airport/"input").first.attributes['value']))
|
34
34
|
end
|
35
35
|
|
36
|
-
Cuando(/^verifico las nuevas urls de vuelos a destino por aeropuerto de salida$/) do
|
36
|
+
Cuando(/^(?:verifico|valido) las nuevas urls de vuelos a destino por aeropuerto de salida$/) do
|
37
37
|
doc = Hpricot.parse(@page.html)
|
38
38
|
options = (doc/"div.ux-flights-filter-originairports li.item").select { |option| !(option / "input")[0].attributes['id'].match(/airport-outbound-all|airport-outbound-unique/)}
|
39
39
|
@airport = options[rand(options.length)]
|
@@ -41,7 +41,7 @@ Cuando(/^verifico las nuevas urls de vuelos a destino por aeropuerto de salida$/
|
|
41
41
|
@page.ir(@page.manage_data.generate_url_landing_origin_airport((@airport/"input").first.attributes['value'],@arrival))
|
42
42
|
end
|
43
43
|
|
44
|
-
Entonces(/^verifico que aparezcan los links propuestos de vuelos a destino por aeropuerto de salida$/) do
|
44
|
+
Entonces(/^(?:verifico|valido) que aparezcan los links propuestos de vuelos a destino por aeropuerto de salida$/) do
|
45
45
|
doc = Hpricot.parse(@page.html)
|
46
46
|
if (doc/"div#seo-links div.category h4.category-title").inner_text.match(/Vuelos a destino desde aeropuerto origen|Passagens para destino saindo do Aeroporto de Origem|Flights to destination from departure airport/)
|
47
47
|
links = (doc/"div#seo-links ul.list li.item a").select{|a| a.attributes['href'].match(/#{@page.manage_data.host()}\/(vuelos|passagens-aereas|fligths)\/(aeropuerto|aeroporto|airport)\/(\D{3})\/(\D{3})\/(passagens-aereas-para|vuelos-a|flights-to)-(.+)-(desde|from|saindo-de)-(.+)/)}
|
@@ -1,5 +1,5 @@
|
|
1
1
|
# encoding: utf-8
|
2
|
-
Entonces(/^verifico que el mensaje de error en el cluster sea correcto$/) do
|
2
|
+
Entonces(/^(?:verifico|valido) que el mensaje de error en el cluster sea correcto$/) do
|
3
3
|
@page.cargar_itinerarios
|
4
4
|
clusters=@page.datos_de_itinerarios
|
5
5
|
clusters.each_with_index do |cluster,i|
|
@@ -10,56 +10,56 @@ Entonces(/^verifico que el mensaje de error en el cluster sea correcto$/) do
|
|
10
10
|
end
|
11
11
|
end
|
12
12
|
|
13
|
-
Entonces(/^verifico que ciudades iguales de error$/) do
|
13
|
+
Entonces(/^(?:verifico|valido) que ciudades iguales de error$/) do
|
14
14
|
@path_landing = @page.url.match(/(.+)(vuelos-a|passagens\-aereas\-para)(.+)/)
|
15
15
|
@page.ir(@path_landing[1].gsub(/\/...\/...\//,"/bue/bue/"))
|
16
16
|
@page.simbolo_error_element.when_visible(timeout=10)
|
17
17
|
@page.mensaje_element.text.should match("The destination city is the same as the departure city|La ciudad de destino es la misma que la ciudad de origen|A cidade de destino .{1,2} a mesma que a cidade de origem")
|
18
18
|
end
|
19
19
|
|
20
|
-
Entonces(/^verifico que si paso tres ciudades en la url de error$/) do
|
20
|
+
Entonces(/^(?:verifico|valido) que si paso tres ciudades en la url de error$/) do
|
21
21
|
@page.ir(@path_landing[1] + "#{@page.manage_data.city_to_1.code.downcase}/" + @path_landing[2] + @path_landing[3])
|
22
22
|
@page.simbolo_error_element.when_visible(timeout=10)
|
23
23
|
@page.mensaje_element.text.no_accents.should match("La pagina solicitada no es valida|A pagina que voce solicitou nao e valido|The page you requested is not valid")
|
24
24
|
end
|
25
25
|
|
26
|
-
Entonces(/^verifico que fechas iguales no de error$/) do
|
26
|
+
Entonces(/^(?:verifico|valido) que fechas iguales no de error$/) do
|
27
27
|
@page.ir(@path_landing[1] + "1/2014-12-05/2014-12-05/" + @path_landing[2] + @path_landing[3])
|
28
28
|
@page.simbolo_error_element.when_visible(timeout=10)
|
29
29
|
@page.mensaje_element.text.should match("No flights were found for your search|No encontramos vuelos para su b.{1,2}squeda|N.{1,2}o foi possivel encontrar assentos disponiveis nos v.{1,2}os buscados")
|
30
30
|
end
|
31
31
|
|
32
|
-
Entonces(/^verifico que la ciudad "(.*?)" de error$/) do |arg1|
|
32
|
+
Entonces(/^(?:verifico|valido) que la ciudad "(.*?)" de error$/) do |arg1|
|
33
33
|
@page.ir(@path_landing[1].gsub(/\/...\/...\//,"/bue/xxx/"))
|
34
34
|
@page.simbolo_error_element.when_visible(timeout=10)
|
35
35
|
@page.mensaje_element.text.should match("We couldnt understand the city you want to fly|No hemos podido interpretar la ciudad a la que quiere volar|N.{1,2}o encontramos a cidade solicitada")
|
36
36
|
end
|
37
37
|
|
38
|
-
Entonces(/^verifico que paginado negativo de error$/) do
|
38
|
+
Entonces(/^(?:verifico|valido) que paginado negativo de error$/) do
|
39
39
|
@page.ir(@path_landing[1] + "-1/" + @path_landing[2] + @path_landing[3])
|
40
40
|
@page.simbolo_error_element.when_visible(timeout=10)
|
41
41
|
@page.mensaje_element.text.should match("The page you requested is not valid|La pagina solicitada no es valida|A p.{1,2}gina que voc.{1,2} solicitou n.{1,2}o .{1,2} v.{1,2}lido")
|
42
42
|
end
|
43
43
|
|
44
|
-
Entonces(/^verifico que si la fecha de ida ingresada es posterior a la fecha de vuelta de error$/) do
|
44
|
+
Entonces(/^(?:verifico|valido) que si la fecha de ida ingresada es posterior a la fecha de vuelta de error$/) do
|
45
45
|
@page.ir(@path_landing[1] + "1/2014-12-05/2014-12-04/" + @path_landing[2] + @path_landing[3])
|
46
46
|
@page.simbolo_error_element.when_visible(timeout=10)
|
47
47
|
@page.mensaje_element.text.should match("The departure date entered is later than the return date|La fecha de ida ingresada es posterior a la fecha de vuelta|A data de partida digitada .{1,2} posterior a data de retorno")
|
48
48
|
end
|
49
49
|
|
50
|
-
Entonces(/^verifico que si la url no tiene el seoPath, se redirige a la pagina que si lo tiene$/) do
|
50
|
+
Entonces(/^(?:verifico|valido) que si la url no tiene el seoPath, se redirige a la pagina que si lo tiene$/) do
|
51
51
|
@page.ir(@path_landing[1])
|
52
52
|
sleep(0.5)
|
53
53
|
@page.url.strip.should equal(@path_landing.to_s.gsub(/\?(.+)/,'').strip)
|
54
54
|
end
|
55
55
|
|
56
|
-
Entonces(/^verifico que si el seoPath esta mal escrito, se redirige a la pagina con el seoPath correcto$/) do
|
56
|
+
Entonces(/^(?:verifico|valido) que si el seoPath esta mal escrito, se redirige a la pagina con el seoPath correcto$/) do
|
57
57
|
@page.ir(@path_landing[1]+"qwerty")
|
58
58
|
sleep(0.5)
|
59
59
|
@page.url.strip.should equal(@path_landing.to_s.strip.to_s.gsub(/\?(.+)/,'').strip)
|
60
60
|
end
|
61
61
|
|
62
|
-
Entonces(/^verifico que si se pone un codigo de aeropuerto en vez de uno de cuidad, se redirige a la ciudad del aeropuerto$/) do
|
62
|
+
Entonces(/^(?:verifico|valido) que si se pone un codigo de aeropuerto en vez de uno de cuidad, se redirige a la ciudad del aeropuerto$/) do
|
63
63
|
@page.ir(@path_landing[1].gsub(/\/...\/...\//,"/ccs/eze/"))
|
64
64
|
sleep(0.5)
|
65
65
|
if AllPages.site=="BR"
|
@@ -69,39 +69,39 @@ Entonces(/^verifico que si se pone un codigo de aeropuerto en vez de uno de cuid
|
|
69
69
|
end
|
70
70
|
end
|
71
71
|
|
72
|
-
Entonces(/^verifico que si se pone algun caracter en mayuscula, se redirige a todo minuscula$/) do
|
72
|
+
Entonces(/^(?:verifico|valido) que si se pone algun caracter en mayuscula, se redirige a todo minuscula$/) do
|
73
73
|
@page.ir(@path_landing[1] + @path_landing[2].upcase + @path_landing[3])
|
74
74
|
sleep(0.5)
|
75
75
|
@page.url.strip.should equal(@path_landing.to_s.strip)
|
76
76
|
end
|
77
77
|
|
78
|
-
Entonces(/^verifico que si la url tiene parametros, se deben conservar en la redireccion$/) do
|
78
|
+
Entonces(/^(?:verifico|valido) que si la url tiene parametros, se deben conservar en la redireccion$/) do
|
79
79
|
@page.ir(@path_landing[1] + "qwerty?param=value")
|
80
80
|
sleep(0.5)
|
81
81
|
@page.url.strip.should equal("#{@path_landing.to_s.strip.to_s.gsub(/\?(.+)/,'').strip}?param=value")
|
82
82
|
end
|
83
83
|
|
84
|
-
Entonces(/^verifico que la url para sem funcione correctamente con un ciudad con resultados sin seoPath$/) do
|
84
|
+
Entonces(/^(?:verifico|valido) que la url para sem funcione correctamente con un ciudad con resultados sin seoPath$/) do
|
85
85
|
match = @path_landing[1].match(/(.+)(vuelos|passagens-aereas)\/(...)\/(...)\//)
|
86
86
|
@page.ir("#{match[1]}#{match[2]}/handler/#{match[3]}/#{match[4]}")
|
87
87
|
sleep(0.5)
|
88
88
|
@page.url.strip.should equal(@path_landing.to_s.strip.gsub(/\?(.+)/,''))
|
89
89
|
end
|
90
90
|
|
91
|
-
Entonces(/^verifico que la url para sem funcione correctamente con un ciudad sin resultados sin seoPath$/) do
|
91
|
+
Entonces(/^(?:verifico|valido) que la url para sem funcione correctamente con un ciudad sin resultados sin seoPath$/) do
|
92
92
|
match = @path_landing[1].match(/(.+)(vuelos|passagens-aereas)\/(...)\/(...)\//)
|
93
93
|
@page.ir("#{match[1]}#{match[2]}/handler/#{match[3]}/KLP")
|
94
94
|
sleep(0.5)
|
95
95
|
@page.url.strip.should equal("#{match[1]}#{match[2].to_s.gsub(/\?(.+)/,'').strip}/")
|
96
96
|
end
|
97
97
|
|
98
|
-
Entonces(/^verifico que la url de landing para el destino "(.*?)" no rompa$/) do |to_city|
|
98
|
+
Entonces(/^(?:verifico|valido) que la url de landing para el destino "(.*?)" no rompa$/) do |to_city|
|
99
99
|
match = @path_landing[1].match(/(.+)(vuelos|passagens-aereas)\/(...)\/(...)\//)
|
100
100
|
respond = HTTParty.get("#{match[1]}#{match[2]}/css/#{to_city}")
|
101
101
|
respond.code.to_s.should match("200|404")
|
102
102
|
end
|
103
103
|
|
104
|
-
Entonces(/^verifico que redirija a la home de vuelos si no hay oficinas en la ciudad de origen$/) do
|
104
|
+
Entonces(/^(?:verifico|valido) que redirija a la home de vuelos si no hay oficinas en la ciudad de origen$/) do
|
105
105
|
@page.ir(@page.manage_data.generate_url_landing_home + "/tyo")
|
106
106
|
@page.url.should equal(@page.manage_data.generate_url_landing_home + "/")
|
107
107
|
@page.ir(@page.manage_data.generate_url_landing_home + "/#{@page.manage_data.city_from_1.code}")
|
@@ -27,12 +27,12 @@ Cuando(/^elijo la cantidad de dias de la busqueda$/) do
|
|
27
27
|
@page.loader_fare_chart_element.when_not_visible(timeout=10)
|
28
28
|
end
|
29
29
|
|
30
|
-
Y(/^valido los precios mostrados$/) do
|
30
|
+
Y(/^(?:verifico|valido) los precios mostrados$/) do
|
31
31
|
@page.precio_banner_element.text.gsub(/ /,'').should equal(@page.precio_fare_chart_element.text.gsub(/ /,''))
|
32
32
|
@page.precio_banner_element.text.gsub(/ /,'').should equal(@page.precio_mensaje_fare_chart_element.text.gsub(/ /,''))
|
33
33
|
end
|
34
34
|
|
35
|
-
Y(/^verifico que traiga opciones de busquedas$/) do
|
35
|
+
Y(/^(?:verifico|valido) que traiga opciones de busquedas$/) do
|
36
36
|
if @page.warning_element.present?
|
37
37
|
pending("No se encontraron opciones de busquedas. WAR: #{@page.warning_element.text}")
|
38
38
|
end
|
@@ -48,7 +48,7 @@ Entonces(/^elijo ver ofertas$/) do
|
|
48
48
|
@page = Results::SearchPage.new($browser)
|
49
49
|
end
|
50
50
|
|
51
|
-
Y(/^valido la opcion de fecha exacta$/) do
|
51
|
+
Y(/^(?:verifico|valido) la opcion de fecha exacta$/) do
|
52
52
|
sleep(1)
|
53
53
|
@page.opcion_fecha_exacta_element.set
|
54
54
|
@page.caja_busqueda_element.should visible
|
@@ -57,7 +57,7 @@ Y(/^valido la opcion de fecha exacta$/) do
|
|
57
57
|
sleep(1)
|
58
58
|
end
|
59
59
|
|
60
|
-
Y(/^valido los textos de las nueva landing$/) do
|
60
|
+
Y(/^(?:verifico|valido) los textos de las nueva landing$/) do
|
61
61
|
@page.texto_wizard_meses_element.text.no_accents.should equal("Selecciona el mes o los meses en los que quisieras viajar")
|
62
62
|
@page.titulo_element.text.no_accents.should match("Vuelos baratos a (#{@page.manage_data.city_to_1.name.no_accents})")
|
63
63
|
@page.titulo_banner_element.text.no_accents.should match(@page.manage_data.city_to_1.name.no_accents)
|
@@ -66,7 +66,7 @@ Y(/^valido los textos de las nueva landing$/) do
|
|
66
66
|
@page.descripcion_larga_banner_element.should visible
|
67
67
|
end
|
68
68
|
|
69
|
-
Y(/^verifico el grafico de fare chart$/) do
|
69
|
+
Y(/^(?:verifico|valido) el grafico de fare chart$/) do
|
70
70
|
if @page.tipo_de_busqueda=='oneway'
|
71
71
|
@page.mensaje_fare_chart_element.text.no_accents.gsub(/\n/,' ').should match("de vuelos Solo ida desde (.+), saliendo en (.+)")
|
72
72
|
else
|
@@ -80,7 +80,7 @@ Y(/^elijo el mes mas barato de fare chart$/) do
|
|
80
80
|
@page.enviar_tecla :escape
|
81
81
|
end
|
82
82
|
|
83
|
-
Y(/^verifico que la pagina de resultados sea la correcta$/) do
|
83
|
+
Y(/^(?:verifico|valido) que la pagina de resultados sea la correcta$/) do
|
84
84
|
url = @page.url
|
85
85
|
if @page.tipo_de_busqueda=="roundtrip"
|
86
86
|
@page.url.should match("\/roundtrip\/#{@page.manage_data.city_from_1.code.downcase}\/#{@page.manage_data.city_to_1.code.downcase}\/....-..-..\/....-..-..\/2\/C\/0")
|
@@ -1,5 +1,5 @@
|
|
1
1
|
# encoding: utf-8
|
2
|
-
Entonces(/^verifico los textos de las opciones del combo$/) do
|
2
|
+
Entonces(/^(?:verifico|valido) los textos de las opciones del combo$/) do
|
3
3
|
combo_text = case AllPages.site
|
4
4
|
when 'US' then 'Recommended'
|
5
5
|
when 'BR' then 'Mais Escolhidos'
|
@@ -10,7 +10,7 @@ Entonces(/^verifico los textos de las opciones del combo$/) do
|
|
10
10
|
options.include?(combo_text).should be_true
|
11
11
|
end
|
12
12
|
|
13
|
-
Entonces(/^verifico las ociones de ordenamiento$/) do
|
13
|
+
Entonces(/^(?:verifico|valido) las ociones de ordenamiento$/) do
|
14
14
|
doc = Hpricot.parse(@page.orden_element.html)
|
15
15
|
options = (doc / 'option').map { |option| option.attributes['value'] }
|
16
16
|
if AllPages.site == 'BR'
|
@@ -40,7 +40,7 @@ Entonces(/^filtro por un itinerario en la matriz$/) do
|
|
40
40
|
end
|
41
41
|
end
|
42
42
|
|
43
|
-
Entonces(/^verifico la base tarifaria$/) do
|
43
|
+
Entonces(/^(?:verifico|valido) la base tarifaria$/) do
|
44
44
|
if AllPages.site == 'PE'
|
45
45
|
@page.precio_itinerario_pe_element.when_visible(20)
|
46
46
|
else
|
@@ -64,6 +64,6 @@ Entonces(/^verifico la base tarifaria$/) do
|
|
64
64
|
end
|
65
65
|
end
|
66
66
|
|
67
|
-
Entonces(/^verifico el breakdown$/) do
|
67
|
+
Entonces(/^(?:verifico|valido) el breakdown$/) do
|
68
68
|
(@basefare == 'abtesting' || ((@basefare == 'adt') ^ (@page.detalle_precio_itinerario_elements.length > 0))).should be_true
|
69
69
|
end
|
@@ -10,7 +10,7 @@ Then(/^ingreso una fecha pasada$/) do
|
|
10
10
|
@page.buscar
|
11
11
|
end
|
12
12
|
|
13
|
-
Then(/^
|
13
|
+
Then(/^(?:verifico|valido) mensaje de error "(.*)"$/) do |text|
|
14
14
|
step 'verifico que la pagina no rompa'
|
15
15
|
@page.resultados_error_element.should visible('Mensaje de error')
|
16
16
|
@page.resultados_error_element.text.no_accents.downcase.should match(text)
|
@@ -1,5 +1,5 @@
|
|
1
1
|
# encoding: utf-8
|
2
|
-
Cuando(/^verifico que el cambio de moneda no muestre limpiar filtros$/) do
|
2
|
+
Cuando(/^(?:verifico|valido) que el cambio de moneda no muestre limpiar filtros$/) do
|
3
3
|
if @page.moneda_local_element.present?
|
4
4
|
@page.moneda_local_element.set
|
5
5
|
sleep(0.5)
|
@@ -23,13 +23,13 @@ Entonces(/^filtro por aerolinea$/) do
|
|
23
23
|
@page.browser.checkbox(:id, (@airline / 'input').first.attributes['id']).set
|
24
24
|
end
|
25
25
|
|
26
|
-
Entonces(/^verifico que los contadores respecto a las aerolineas sean correctos$/) do
|
26
|
+
Entonces(/^(?:verifico|valido) que los contadores respecto a las aerolineas sean correctos$/) do
|
27
27
|
@page.cantidad_items_aeropuerto_salida_element.text.to_i.should equal(@total)
|
28
28
|
@page.cantidad_items_aeropuerto_llegada_element.text.to_i.should equal(@total) if @page.cantidad_items_aeropuerto_llegada_element.present?
|
29
29
|
@page.cantidad_items_paradas_element.text.to_i.should equal(@total)
|
30
30
|
end
|
31
31
|
|
32
|
-
Entonces(/^verifico que la primer pagina muestre correctamente los filtros de aerolineas$/) do
|
32
|
+
Entonces(/^(?:verifico|valido) que la primer pagina muestre correctamente los filtros de aerolineas$/) do
|
33
33
|
group_airlines = [['UA', 'CM', 'AM', 'US', 'AA', 'DL'], ['LA', '4M', 'XL', '4C', 'JJ', 'PZ'], ['AV', 'TA', 'LR']]
|
34
34
|
doc = Hpricot.parse(@page.html)
|
35
35
|
airlines = []
|
@@ -67,11 +67,11 @@ Entonces(/^filtro por aeropuerto$/) do
|
|
67
67
|
@page.browser.checkbox(:id, (@airport/'input').first.attributes['id']).set
|
68
68
|
end
|
69
69
|
|
70
|
-
Entonces(/^verifico que los contadores respecto al aeropuerto sean correctos$/) do
|
70
|
+
Entonces(/^(?:verifico|valido) que los contadores respecto al aeropuerto sean correctos$/) do
|
71
71
|
@page.cantidad_items_paradas_element.text.to_i.should equal(@total)
|
72
72
|
end
|
73
73
|
|
74
|
-
Entonces(/^verifico que la primer pagina muestre correctamente los filtros de aeropuertos (outbound|inbound)$/) do |_class|
|
74
|
+
Entonces(/^(?:verifico|valido) que la primer pagina muestre correctamente los filtros de aeropuertos (outbound|inbound)$/) do |_class|
|
75
75
|
doc = Hpricot.parse(@page.html)
|
76
76
|
(@airport / 'input').first.attributes['value'].strip.should equal((doc/"div#clusters div.cluster div.#{_class} span.airport a").first.inner_text.strip)
|
77
77
|
end
|
@@ -96,12 +96,12 @@ Entonces(/^filtro por escala$/) do
|
|
96
96
|
@page.browser.checkbox(:id,(@stop/"input").first.attributes['id']).set
|
97
97
|
end
|
98
98
|
|
99
|
-
Entonces(/^verifico que los contadores respecto a las escalas sean correctos$/) do
|
99
|
+
Entonces(/^(?:verifico|valido) que los contadores respecto a las escalas sean correctos$/) do
|
100
100
|
@page.cantidad_items_aeropuerto_salida_element.text.to_i.should equal(@total)
|
101
101
|
@page.cantidad_items_aeropuerto_llegada_element.text.to_i.should equal(@total) if @page.cantidad_items_aeropuerto_llegada_element.present?
|
102
102
|
end
|
103
103
|
|
104
|
-
Entonces(/^verifico que la primer pagina muestre correctamente los filtros de escalas$/) do
|
104
|
+
Entonces(/^(?:verifico|valido) que la primer pagina muestre correctamente los filtros de escalas$/) do
|
105
105
|
doc = Hpricot.parse(@page.html)
|
106
106
|
(doc/"div#clusters div.cluster li.stops").each do |stop|
|
107
107
|
applied_stop = @cant
|
@@ -136,7 +136,7 @@ Entonces(/^filtro por horario (outbound|inbound)$/) do |_class|
|
|
136
136
|
box.link(:class,'ux-common-filter-apply').click
|
137
137
|
end
|
138
138
|
|
139
|
-
Entonces(/^verifico que la primer pagina muestre correctamente los filtros de horario (outbound|inbound)$/) do |_class|
|
139
|
+
Entonces(/^(?:verifico|valido) que la primer pagina muestre correctamente los filtros de horario (outbound|inbound)$/) do |_class|
|
140
140
|
doc = Hpricot.parse(@page.html)
|
141
141
|
if @page.remover_ultima_accion_element.present?
|
142
142
|
puts "Disculpe, no encontramos vuelos con el último criterio que ha seleccionado."
|
@@ -208,7 +208,7 @@ Entonces(/^filtro por duracion (outbound|inbound)$/) do |_class|
|
|
208
208
|
end
|
209
209
|
end
|
210
210
|
|
211
|
-
Entonces(/^verifico que la primer pagina muestre correctamente los filtros de duracion (outbound|inbound)$/) do |_class|
|
211
|
+
Entonces(/^(?:verifico|valido) que la primer pagina muestre correctamente los filtros de duracion (outbound|inbound)$/) do |_class|
|
212
212
|
unless((_class=="inbound")and(@page.tipo_de_busqueda=="oneway"))
|
213
213
|
doc = Hpricot.parse(@page.html)
|
214
214
|
(doc/"div#clusters div.cluster div.#{_class} ul.itineraries-group li.itinerary").each do |itineraries|
|
@@ -268,7 +268,7 @@ Entonces(/^filtro por precio mayor$/) do
|
|
268
268
|
step "espero que termine de cargar la pagina de resultados"
|
269
269
|
end
|
270
270
|
|
271
|
-
Entonces(/^verifico que la primer pagina muestre correctamente los filtros de precio$/) do
|
271
|
+
Entonces(/^(?:verifico|valido) que la primer pagina muestre correctamente los filtros de precio$/) do
|
272
272
|
doc = Hpricot.parse(@page.html)
|
273
273
|
@page.cargar_itinerarios
|
274
274
|
@page.datos_de_itinerarios.each do |itinerario|
|
@@ -1,37 +1,43 @@
|
|
1
1
|
# -*- encoding : utf-8 -*-
|
2
|
-
Dado(/^una pagina de resultados en "(
|
3
|
-
Helpers.set_date_language(
|
4
|
-
|
5
|
-
|
2
|
+
Dado(/^una pagina de resultados en "(.*?)" para una busqueda "(.*?)" que desambigue por "(.*?)"$/) do |arg1, arg2, arg3|
|
3
|
+
Helpers.set_date_language(arg1)
|
4
|
+
@page = Results::DesambiguationAirportsPage.new($browser)
|
5
|
+
@page.load_page_results(arg2,arg1,$ENV,arg3,"true")
|
6
6
|
@page.set_cookies
|
7
|
-
puts "URL: #{@page.
|
7
|
+
puts "URL: #{@page.url_desambiguacion}"
|
8
8
|
puts "UOW: #{@page.uow}"
|
9
|
-
@page.elegir_idioma
|
10
9
|
end
|
11
10
|
|
12
|
-
Dado(/^
|
11
|
+
Dado(/^como un usuario de '(.*)'$/) do |pais|
|
13
12
|
Helpers.set_date_language(pais)
|
14
13
|
@page = Results::SearchPage.new($browser)
|
15
|
-
@page.
|
14
|
+
@page.set_site(pais)
|
15
|
+
end
|
16
|
+
|
17
|
+
Dado(/^ingreso una busqueda '(.*)' de '(.*)' a '(.*)' de tipo '(.*)'$/) do |tipo,ida,vuelta,cabotaje|
|
18
|
+
@page.cargar_url(tipo,$ENV,cabotaje,{"from"=>ida.upcase,"to"=>vuelta.upcase})
|
19
|
+
end
|
20
|
+
|
21
|
+
Dado(/^ingreso una busqueda '(.*)' del tipo '(.*)'$/) do |tipo,cabotaje|
|
22
|
+
@page.cargar_url(tipo,$ENV,cabotaje,{})
|
23
|
+
end
|
24
|
+
|
25
|
+
Dado(/^con (?:fecha ida|fecha|salida|fecha salida) '(.*)' y (?:estadia|fecha vuelta|regreso|vuelta) '(.*)'$/) do |fecha_ida,fecha_vuelta|
|
26
|
+
@page.cargar_fechas(Date.parse($date.for(fecha_ida)),Date.parse($date.for(fecha_vuelta)))
|
27
|
+
end
|
28
|
+
|
29
|
+
Cuando(/^(?:realizo|genero|ingreso) la busqueda$/) do
|
30
|
+
@page.ir(@page.url_busqueda)
|
16
31
|
@page.set_cookies
|
17
32
|
puts "URL: #{@page.manage_data.generate_url_results_search}"
|
18
33
|
puts "UOW: #{@page.uow}"
|
19
34
|
@page.elegir_idioma
|
20
35
|
end
|
21
36
|
|
22
|
-
|
23
|
-
|
24
|
-
@page
|
25
|
-
|
26
|
-
@page.set_cookies
|
27
|
-
puts "URL: #{@page.url_desambiguacion}"
|
28
|
-
puts "UOW: #{@page.uow}"
|
29
|
-
end
|
30
|
-
|
31
|
-
Cuando(/^espero que termine de cargar la pagina de resultados$/) do
|
32
|
-
@page.carga_element.when_not_visible(timeout=60)
|
33
|
-
@page.actualizar_filtro_element.when_not_visible(timeout=60)
|
34
|
-
end
|
37
|
+
Cuando(/^espero que (?:termine|finalize|acabe) de cargar la pagina de resultados$/) do
|
38
|
+
@page.carga_element.when_not_visible(timeout=60)
|
39
|
+
@page.actualizar_filtro_element.when_not_visible(timeout=120)
|
40
|
+
end
|
35
41
|
|
36
42
|
Entonces(/^(?:verifico|valido) que (?:traiga|vengan|tenga) resultados$/) do
|
37
43
|
unless @page.con_resultados?
|
@@ -43,31 +49,3 @@ Entonces(/^(?:verifico|valido) que (?:traiga|vengan|tenga) resultados$/) do
|
|
43
49
|
end
|
44
50
|
end
|
45
51
|
end
|
46
|
-
|
47
|
-
|
48
|
-
Entonces(/^verifico el nuevo loader$/) do
|
49
|
-
if @page.carga_element.present? and !@page.tipo_de_busqueda.match(/multipledestinations/)
|
50
|
-
begin
|
51
|
-
Watir::Wait.until(timeout=25){@page.carga_element.span(:class,'nibbler-iterated-text-description').exists? and !@page.carga_element.span(:class,'nibbler-iterated-text-description').text.empty?}
|
52
|
-
text = @page.carga_element.span(:class,'nibbler-iterated-text-description').text
|
53
|
-
unless text.empty?
|
54
|
-
unless text.no_accents.downcase.match("searching flights to #{@page.manage_data.city_to_1.name(AllPages.site).downcase} by|buscando vuelos hacia #{@page.manage_data.city_to_1.name(AllPages.site).downcase} por|procurando voos a #{@page.manage_data.city_to_1.name(AllPages.site).downcase} por")
|
55
|
-
airlines=@page.manage_data.get_indec_airlines($ENV)
|
56
|
-
airlines.should is_empty?
|
57
|
-
end
|
58
|
-
else
|
59
|
-
puts "Fallo la validacion en el loader con el texto de aerolineas"
|
60
|
-
end
|
61
|
-
text_hotels = @page.carga_element.div(:class,'nibbler-second-text').text
|
62
|
-
unless text_hotels.empty?
|
63
|
-
text_hotels.no_accents.downcase.should match("hoteles en #{@page.manage_data.city_to_1.name(AllPages.site).downcase}|hotels in #{@page.manage_data.city_to_1.name(AllPages.site).downcase} , best price guaranteed|hoteles en #{@page.manage_data.city_to_1.name(AllPages.site).downcase} con el mejor precio garantizado|hoteis em #{@page.manage_data.city_to_1.name(AllPages.site).downcase} com o melhor preco garantido")
|
64
|
-
hotels_count = @page.carga_element.text.gsub(/\D/,'')
|
65
|
-
hotels_count.to_i.should es_mayor_que(0)
|
66
|
-
else
|
67
|
-
puts "Fallo la validacion en el loader con el texto de hoteles"
|
68
|
-
end
|
69
|
-
rescue Watir::Wait::TimeoutError
|
70
|
-
puts "Timeout loader!"
|
71
|
-
end
|
72
|
-
end
|
73
|
-
end
|