flights_gui_tests 2.3.38 → 2.3.39

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 05ba2b6193418b9d76aee91ad4b9763e779f2e47
4
- data.tar.gz: b565d8600184414e623123f2b4ce3bd3b75fb148
3
+ metadata.gz: cd67bc4d8f5f87089ea2d31a96e02e914e684135
4
+ data.tar.gz: b218729030d51c82c3692b45b67af965a2783273
5
5
  SHA512:
6
- metadata.gz: c57133199bca8e2515b46cade064c7a7a93609e89264a84d13f8a1ff82c041970cb20390daf6041955b2750dff839bdffe5b6182440fe66f72709b5ab6eb62b9
7
- data.tar.gz: 489e514105b34ef8433cec4dff6dc39491bd65452c404bf5715dd6f1681a1aa92269cc943abfe5beb1eed2418bc639a57a92373ce18c35e6b1f1428bac873770
6
+ metadata.gz: 150a43ba32803450cb933be93b3e64e06475e468b883fa35ab6d55cda6068f43e9690196cd51dd2f2c96718947bedb66ca780717a35cb7083a43d9b0d07baf53
7
+ data.tar.gz: df69891a302ab4ec4d62bedd8a5a3f28e8ce66c88d69fa75c45db2d9d8c611fa6dc4dbe9a8718725f3c9ef8c93b8bedfea30f83b72e0714339e5df71cfc47e66
@@ -32,7 +32,7 @@ Entonces(/^(?:verifico|valido) que vuelva al checkout correctamente$/) do
32
32
  end
33
33
 
34
34
  Entonces(/^(?:verifico|valido) los pasos para hacer el pago online$/) do
35
- @page.mensaje_alerta_element.text.no_accents.should equal("Recuerde que el pago debera ser realizado antes de las 20hs, de lo contrario su reserva sera cancelada.")
35
+ @page.mensaje_alerta_cash_element.text.no_accents.should equal("Recuerde que el pago debera ser realizado antes de las 20hs, de lo contrario su reserva sera cancelada.")
36
36
  @page.checkout_id_cash_element.should visible("numero de reserva")
37
37
  @page.pasos_pago_online_elements.length.should equal(8)
38
38
  @page.checkout_id_cash_element.text.should match(@id_reserva)
@@ -12,8 +12,8 @@ Y(/^comparo los datos de cluster contra los detalles$/) do
12
12
  (item.tramos.first["fecha_origen"].strftime("%d%m")).should match(@page.datos_de_itinerarios[i].idas[j].fecha.strftime("%d%m"))
13
13
  (item.tramos.first["hora_origen"].strftime("%d%m")).should match(@page.datos_de_itinerarios[i].idas[j].hou_sal_ida.strftime("%d%m"))
14
14
  item.duracion.to_s.should match((@page.datos_de_itinerarios[i].idas[j].duracion).to_s)
15
- item.tramos.first["ciudad_destino"].should match(@page.datos_de_itinerarios[i].idas[j].destino.no_accents.strip)
16
- (item.tramos.first["hora_destino"].strftime("%d%m")).should match(@page.datos_de_itinerarios[i].idas[j].hou_lle_ida.strftime("%d%m"))
15
+ item.tramos.last["ciudad_destino"].should match(@page.datos_de_itinerarios[i].idas[j].destino.no_accents.strip)
16
+ (item.tramos.last["hora_destino"].strftime("%d%m")).should match(@page.datos_de_itinerarios[i].idas[j].hou_lle_ida.strftime("%d%m"))
17
17
  end
18
18
  detail["vueltas"].each_with_index do |item,j|
19
19
  item.tramos.first["clase"].should be_true
@@ -22,8 +22,8 @@ Y(/^comparo los datos de cluster contra los detalles$/) do
22
22
  (item.tramos.first["fecha_origen"].strftime("%d%m")).should match(@page.datos_de_itinerarios[i].vueltas[j].fecha.strftime("%d%m"))
23
23
  (item.tramos.first["hora_origen"].strftime("%H%M")).should match(@page.datos_de_itinerarios[i].vueltas[j].hou_sal_ida.strftime("%H%M"))
24
24
  item.duracion.to_s.should match((@page.datos_de_itinerarios[i].vueltas[j].duracion).to_s)
25
- item.tramos.first["ciudad_destino"].should match(@page.datos_de_itinerarios[i].vueltas[j].destino.no_accents.strip)
26
- (item.tramos.first["hora_destino"].strftime("%d%m")).should match(@page.datos_de_itinerarios[i].vueltas[j].hou_lle_ida.strftime("%d%m"))
25
+ item.tramos.last["ciudad_destino"].should match(@page.datos_de_itinerarios[i].vueltas[j].destino.no_accents.strip)
26
+ (item.tramos.last["hora_destino"].strftime("%d%m")).should match(@page.datos_de_itinerarios[i].vueltas[j].hou_lle_ida.strftime("%d%m"))
27
27
  end
28
28
  end
29
29
  end
@@ -16,7 +16,7 @@ end
16
16
  Y(/^(?:verifico|valido) que la ciudad destino sea la que se eligio$/) do
17
17
  doc = Hpricot.parse(@page.html)
18
18
  ciudades = (doc/"div.mainTitle/h1").inner_text.strip.no_accents
19
- ciudad_destino = ciudades.match(/ (para|a|to) ([^,]+)/)[2].strip
19
+ ciudad_destino = ciudades.match(/ (para|a|to) ([^,]+) desde (.+)/)[2].strip
20
20
  @page.ciudad_elegida.downcase.should equal(ciudad_destino.downcase) unless @page.ciudad_elegida.match(/Guarullos|Panama|Santiago|Mexico/)
21
21
  end
22
22
 
@@ -92,7 +92,7 @@ end
92
92
 
93
93
  Cuando(/^(?:verifico|valido) que el paginado no rompa en la ultima paginas de landing$/) do
94
94
  doc = Hpricot.parse(@page.html)
95
- unless (doc/"div.flights-pagination li.page a").length==1
95
+ unless (doc/"div.flights-pagination li.page a").length==1 or @page.paginas_elements[-1].nil?
96
96
  url_with_filter = @page.url
97
97
  iterator = @page.paginas_elements[-1].text
98
98
  @page.paginas_elements[-1].links[0].click
@@ -39,6 +39,8 @@ Y(/^(?:verifico|valido) la pagina donde ingresa$/) do
39
39
  @page_results = Results::SearchPage.new($browser)
40
40
  @page_checkout = Checkout::NewCheckoutPage.new($browser)
41
41
  puts " URL: #{@page.url}"
42
+ @page.elegir_idioma
43
+ @page.cargar_valores_abtesting
42
44
  Watir::Wait.until(timeout = 300){@page_results.carga_element.present? or @page_results.itinerario_element.present? or @page_checkout.pasajeros_element.present? or @page_checkout.notificacion_warning_element.present?}
43
45
  if @page_checkout.pasajeros_element.present? or @page_checkout.notificacion_warning_element.present?
44
46
  @page = @page_checkout
@@ -50,19 +50,19 @@ end
50
50
 
51
51
  Entonces(/^(?:verifico|valido) que si la url no tiene el seoPath, se redirige a la pagina que si lo tiene$/) do
52
52
  @page.ir(@path_landing[1])
53
- sleep(0.5)
53
+ sleep(1)
54
54
  @page.url.strip.should equal(@path_landing.to_s.gsub(/\?(.+)/,'').strip)
55
55
  end
56
56
 
57
57
  Entonces(/^(?:verifico|valido) que si el seoPath esta mal escrito, se redirige a la pagina con el seoPath correcto$/) do
58
58
  @page.ir(@path_landing[1]+"qwerty")
59
- sleep(0.5)
59
+ sleep(1)
60
60
  @page.url.strip.should equal(@path_landing.to_s.strip.to_s.gsub(/\?(.+)/,'').strip)
61
61
  end
62
62
 
63
63
  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
64
64
  @page.ir(@path_landing[1].gsub(/\/...\/...\//,"/ccs/eze/"))
65
- sleep(0.5)
65
+ sleep(1)
66
66
  if AllPages.lang=="pt"
67
67
  @page.url.strip.should equal(@path_landing[1].to_s.gsub(/\/...\/...\//,"/ccs/bue/")+@path_landing[2]+"-buenos+aires-saindo-de-caracas")
68
68
  elsif AllPages.lang=="en"
@@ -74,27 +74,27 @@ end
74
74
 
75
75
  Entonces(/^(?:verifico|valido) que si se pone algun caracter en mayuscula, se redirige a todo minuscula$/) do
76
76
  @page.ir(@path_landing[1] + @path_landing[2].upcase + @path_landing[3])
77
- sleep(0.5)
77
+ sleep(1)
78
78
  @page.url.strip.should equal(@path_landing.to_s.strip)
79
79
  end
80
80
 
81
81
  Entonces(/^(?:verifico|valido) que si la url tiene parametros, se deben conservar en la redireccion$/) do
82
82
  @page.ir(@path_landing[1] + "qwerty?param=value")
83
- sleep(0.5)
83
+ sleep(1)
84
84
  @page.url.strip.should equal("#{@path_landing.to_s.strip.to_s.gsub(/\?(.+)/,'').strip}?param=value")
85
85
  end
86
86
 
87
87
  Entonces(/^(?:verifico|valido) que la url para sem funcione correctamente con un ciudad con resultados sin seoPath$/) do
88
88
  match = @path_landing[1].match(/(.+)(vuelos|passagens-aereas|flights)\/(...)\/(...)\//)
89
89
  @page.ir("#{match[1]}#{match[2]}/handler/#{match[3]}/#{match[4]}")
90
- sleep(0.5)
90
+ sleep(1)
91
91
  @page.url.strip.should equal(@path_landing.to_s.strip.gsub(/\?(.+)/,''))
92
92
  end
93
93
 
94
94
  Entonces(/^(?:verifico|valido) que la url para sem funcione correctamente con un ciudad sin resultados sin seoPath$/) do
95
95
  match = @path_landing[1].match(/(.+)(vuelos|passagens-aereas|flights)\/(...)\/(...)\//)
96
96
  @page.ir("#{match[1]}#{match[2]}/handler/#{match[3]}/KLP")
97
- sleep(0.5)
97
+ sleep(1)
98
98
  @page.url.strip.should equal("#{match[1]}#{match[2].to_s.gsub(/\?(.+)/,'').strip}/")
99
99
  end
100
100
 
@@ -54,6 +54,7 @@ Cuando(/^espero que (?:termine|finalize|acabe) de cargar la pagina de resultados
54
54
  @page.carga_element.when_not_visible(timeout=200)
55
55
  @page.actualizar_filtro_element.when_not_visible(timeout=120)
56
56
  @page.barra_progreso_element.when_not_visible(timeout=200)
57
+ @page.loader_element.when_not_visible(timeout=100)
57
58
  end
58
59
 
59
60
  Cuando(/^espero que (?:termine|finalize|acabe) de cargar la pagina de streaming de resultados$/) do
@@ -3,7 +3,7 @@ Cuando(/^espero que termine de cargar la pagina de gracias$/) do
3
3
  if @page.new_thanks?
4
4
  @page = Thanks::NewThanksPage.new($browser)
5
5
  else
6
- @page = Thanks::OldThanksPage.new($browser)
6
+ @page = Thanks::NewThanksPage.new($browser)
7
7
  end
8
8
  Watir::Wait.until(timeout=120){@page.checkout_id_element.present? or @page.checkout_id_cash_element.present?}
9
9
  end
@@ -26,6 +26,7 @@ Entonces(/^(?:verifico|valido) el link de mi despegar$/) do
26
26
  end
27
27
 
28
28
  Y(/^(?:verifico|valido) los valores del desglose en gracias contra los del checkout/) do
29
+ @itinerario_gracias = @page.datos_itinerario
29
30
  unless @cambio_precio
30
31
  @itinerario_gracias.validar_suma_desgloce.should be_within(4).of(@itinerario_gracias.tarifas['total'].value)
31
32
  unless @itinerario_gracias.tarifas['adt'].nil? or @itinerario_gracias.tarifas['adt'].valor.zero? or @itinerario_gracias.tarifas['tarifa_adulto'].nil?
@@ -1,85 +1,85 @@
1
1
  # -*- encoding : utf-8 -*-
2
- class LandingCluster < Results::OldCluster
2
+ class LandingCluster < Results::NewCluster
3
3
 
4
4
 
5
- def load_data_from(div_datos)
6
- @idas = Array.new
7
- (div_datos/"li.itinerary").each do |div_datos_ida|
8
- duracion = (div_datos_ida/"li.time").inner_text.strip
9
- origen = (div_datos/"span.city-departure").first.inner_text.gsub(/,/,'').strip.no_accents
10
- destino= (div_datos/"span.city-arrival").first.inner_text.gsub(/,/,'').strip.no_accents
11
- origen_iata = (div_datos/"a")[0].inner_text.strip
12
- destino_iata = (div_datos/"a")[1].inner_text.strip
13
- fecha = (div_datos_ida/"li.date").first.inner_text.strip.no_accents
14
- escala = (div_datos_ida/"li.stops/a").inner_text.strip.empty? ? "Sin escalas" : (div_datos_ida/"li.stops/a").inner_text.to_i
15
- aerolinea = Array.new
16
- i = 0
17
- (div_datos_ida/"li.airlinesShort//img").each do |aer|
18
- aerolinea << aer.attributes['src'].match(/(..).png/)[1].upcase
19
- i = i + 1
20
- end
21
- (div_datos_ida/"li.airlines//img").each do |aer|
22
- aerolinea << aer.attributes['src'].match(/(..).png/)[1].upcase
23
- i = i + 1
24
- end
25
- hou_sal_ida = Time.parse((div_datos_ida/"li.leave span.hour").inner_text.strip)
26
- hou_lle_ida = Time.parse((div_datos_ida/"li.arrive span.hour").inner_text.strip)
27
- @idas << DataCluster.new(origen,destino,fecha, aerolinea, escala_to_i(escala),origen_iata,destino_iata,hou_sal_ida,hou_lle_ida,duracion)
28
- end
29
- @nro_vuelo_ida = 0
30
- @ida = @idas[@nro_vuelo_ida]
31
- end
32
- def load_data_to(div_datos)
33
- @vueltas = Array.new
34
- (div_datos/"li.itinerary").each do |div_datos_vuelta|
35
- duracion = (div_datos_vuelta/"li.time").inner_text.strip
36
- origen = (div_datos/"span.city-departure").first.inner_text.gsub(/,/,'').strip.no_accents
37
- destino= (div_datos/"span.city-arrival").first.inner_text.gsub(/,/,'').strip.no_accents
38
- origen_iata = (div_datos/"a")[0].inner_text.strip
39
- destino_iata = (div_datos/"a")[1].inner_text.strip
40
- fecha = (div_datos_vuelta/"li.date").last.inner_text.strip.no_accents
41
- escala = (div_datos_vuelta/"li.stops/a").inner_text.strip.empty? ? "Sin escalas" : (div_datos_vuelta/"li.stops/a").inner_text.to_i
42
- aerolinea = Array.new
43
- i = 0
44
- (div_datos_vuelta/"li.airlinesShort//img").each do |aer|
45
- aerolinea << aer.attributes['src'].match(/(..).png/)[1].upcase
46
- i = i + 1
47
- end
48
- (div_datos_vuelta/"li.airlines//img").each do |aer|
49
- aerolinea << aer.attributes['src'].match(/(..).png/)[1].upcase
50
- i = i + 1
51
- end
52
- hou_sal_ida = Time.parse((div_datos_vuelta/"li.leave span.hour").inner_text.strip)
53
- hou_lle_ida = Time.parse((div_datos_vuelta/"li.arrive span.hour").inner_text.strip)
54
- @vueltas << DataCluster.new(origen,destino,fecha, aerolinea, escala_to_i(escala),origen_iata,destino_iata,hou_sal_ida,hou_lle_ida,duracion)
55
- end
56
- @nro_vuelo_vuelta = 0
57
- @vuelta = @vueltas[@nro_vuelo_vuelta]
58
- end
5
+ # def load_data_from(div_datos)
6
+ # @idas = Array.new
7
+ # (div_datos/"li.itinerary").each do |div_datos_ida|
8
+ # duracion = (div_datos_ida/"li.time").inner_text.strip
9
+ # origen = (div_datos/"span.city-departure").first.inner_text.gsub(/,/,'').strip.no_accents
10
+ # destino= (div_datos/"span.city-arrival").first.inner_text.gsub(/,/,'').strip.no_accents
11
+ # origen_iata = (div_datos/"a")[0].inner_text.strip
12
+ # destino_iata = (div_datos/"a")[1].inner_text.strip
13
+ # fecha = (div_datos_ida/"li.date").first.inner_text.strip.no_accents
14
+ # escala = (div_datos_ida/"li.stops/a").inner_text.strip.empty? ? "Sin escalas" : (div_datos_ida/"li.stops/a").inner_text.to_i
15
+ # aerolinea = Array.new
16
+ # i = 0
17
+ # (div_datos_ida/"li.airlinesShort//img").each do |aer|
18
+ # aerolinea << aer.attributes['src'].match(/(..).png/)[1].upcase
19
+ # i = i + 1
20
+ # end
21
+ # (div_datos_ida/"li.airlines//img").each do |aer|
22
+ # aerolinea << aer.attributes['src'].match(/(..).png/)[1].upcase
23
+ # i = i + 1
24
+ # end
25
+ # hou_sal_ida = Time.parse((div_datos_ida/"li.leave span.hour").inner_text.strip)
26
+ # hou_lle_ida = Time.parse((div_datos_ida/"li.arrive span.hour").inner_text.strip)
27
+ # @idas << DataCluster.new(origen,destino,fecha, aerolinea, escala_to_i(escala),origen_iata,destino_iata,hou_sal_ida,hou_lle_ida,duracion)
28
+ # end
29
+ # @nro_vuelo_ida = 0
30
+ # @ida = @idas[@nro_vuelo_ida]
31
+ # end
32
+ # def load_data_to(div_datos)
33
+ # @vueltas = Array.new
34
+ # (div_datos/"li.itinerary").each do |div_datos_vuelta|
35
+ # duracion = (div_datos_vuelta/"li.time").inner_text.strip
36
+ # origen = (div_datos/"span.city-departure").first.inner_text.gsub(/,/,'').strip.no_accents
37
+ # destino= (div_datos/"span.city-arrival").first.inner_text.gsub(/,/,'').strip.no_accents
38
+ # origen_iata = (div_datos/"a")[0].inner_text.strip
39
+ # destino_iata = (div_datos/"a")[1].inner_text.strip
40
+ # fecha = (div_datos_vuelta/"li.date").last.inner_text.strip.no_accents
41
+ # escala = (div_datos_vuelta/"li.stops/a").inner_text.strip.empty? ? "Sin escalas" : (div_datos_vuelta/"li.stops/a").inner_text.to_i
42
+ # aerolinea = Array.new
43
+ # i = 0
44
+ # (div_datos_vuelta/"li.airlinesShort//img").each do |aer|
45
+ # aerolinea << aer.attributes['src'].match(/(..).png/)[1].upcase
46
+ # i = i + 1
47
+ # end
48
+ # (div_datos_vuelta/"li.airlines//img").each do |aer|
49
+ # aerolinea << aer.attributes['src'].match(/(..).png/)[1].upcase
50
+ # i = i + 1
51
+ # end
52
+ # hou_sal_ida = Time.parse((div_datos_vuelta/"li.leave span.hour").inner_text.strip)
53
+ # hou_lle_ida = Time.parse((div_datos_vuelta/"li.arrive span.hour").inner_text.strip)
54
+ # @vueltas << DataCluster.new(origen,destino,fecha, aerolinea, escala_to_i(escala),origen_iata,destino_iata,hou_sal_ida,hou_lle_ida,duracion)
55
+ # end
56
+ # @nro_vuelo_vuelta = 0
57
+ # @vuelta = @vueltas[@nro_vuelo_vuelta]
58
+ # end
59
59
 
60
- def load_prices(p_html)
60
+ # def load_prices(p_html)
61
61
 
62
- @tarifas = Hash.new
63
- @tarifas['tarifa_adulto'] = Price.new((p_html/"span.price-currency span.currency").first.inner_text.strip + " " + (p_html/"span.price-currency span.amount").first.inner_text.strip)
64
- @tarifas['tarifa_adulto_dolar'] = Price.new((p_html/"span.price-currency span.currency").last.inner_text.strip + " " + (p_html/"span.price-currency span.amount").last.inner_text.strip)
65
- @tarifas['adt'] = (p_html/"ul.fare-detail//li").empty? ? Price.new("$ 0",true) : Price.new(((p_html/"ul.fare-detail//li").select{|li| li.inner_text.no_accents.downcase =~ /adulto/}.first/"span[@class='price-currency ARS']").inner_text.strip)
62
+ # @tarifas = Hash.new
63
+ # @tarifas['tarifa_adulto'] = Price.new((p_html/"span.price-currency span.currency").first.inner_text.strip + " " + (p_html/"span.price-currency span.amount").first.inner_text.strip)
64
+ # @tarifas['tarifa_adulto_dolar'] = Price.new((p_html/"span.price-currency span.currency").last.inner_text.strip + " " + (p_html/"span.price-currency span.amount").last.inner_text.strip)
65
+ # @tarifas['adt'] = (p_html/"ul.fare-detail//li").empty? ? Price.new("$ 0",true) : Price.new(((p_html/"ul.fare-detail//li").select{|li| li.inner_text.no_accents.downcase =~ /adulto/}.first/"span[@class='price-currency ARS']").inner_text.strip)
66
66
 
67
- adt = (p_html/"li").select{|li| li.inner_text.no_accents.downcase =~ /adulto/}.first
68
- @tarifas['adt'] = adt ? Price.new((adt/"span.currency").first.inner_text.strip + " " + (adt/"span.amount").first.inner_text.strip) : Price.new("$ 0",true)
67
+ # adt = (p_html/"li").select{|li| li.inner_text.no_accents.downcase =~ /adulto/}.first
68
+ # @tarifas['adt'] = adt ? Price.new((adt/"span.currency").first.inner_text.strip + " " + (adt/"span.amount").first.inner_text.strip) : Price.new("$ 0",true)
69
69
 
70
- tasas = (p_html/"li.taxes-price").empty? ? (p_html/"li[@class='taxDetail.OTHER-price']").first : (p_html/"li.taxes-price").first
71
- @tarifas['tasas'] = tasas ? Price.new((tasas/"span.currency").first.inner_text.strip + " " + (tasas/"span.amount").first.inner_text.strip,true) : Price.new("$ 0",true)
70
+ # tasas = (p_html/"li.taxes-price").empty? ? (p_html/"li[@class='taxDetail.OTHER-price']").first : (p_html/"li.taxes-price").first
71
+ # @tarifas['tasas'] = tasas ? Price.new((tasas/"span.currency").first.inner_text.strip + " " + (tasas/"span.amount").first.inner_text.strip,true) : Price.new("$ 0",true)
72
72
 
73
- cargos = (p_html/"li.charges-price").first
74
- @tarifas['cargos'] = cargos ? Price.new((cargos/"span.currency").first.inner_text.strip + " " + (cargos/"span.amount").first.inner_text.strip,true) : Price.new("$ 0",true)
73
+ # cargos = (p_html/"li.charges-price").first
74
+ # @tarifas['cargos'] = cargos ? Price.new((cargos/"span.currency").first.inner_text.strip + " " + (cargos/"span.amount").first.inner_text.strip,true) : Price.new("$ 0",true)
75
75
 
76
- afip = (p_html/"li[@class='taxDetail.ZK-price']").first
77
- @tarifas['afip'] = afip ? Price.new((afip/"span.currency").first.inner_text.strip + " " + (afip/"span.amount").first.inner_text.strip,true) : Price.new("$ 0",true)
76
+ # afip = (p_html/"li[@class='taxDetail.ZK-price']").first
77
+ # @tarifas['afip'] = afip ? Price.new((afip/"span.currency").first.inner_text.strip + " " + (afip/"span.amount").first.inner_text.strip,true) : Price.new("$ 0",true)
78
78
 
79
- @tarifas['encargos'] = Price.new("$ 0",true)
79
+ # @tarifas['encargos'] = Price.new("$ 0",true)
80
80
 
81
- campo = (p_html/"li").empty? ? "total" : "fare"
82
- @tarifas['total'] = (p_html/"li.#{campo}-price span.currency").empty? ? Price.new("$ 0",true) : Price.new((p_html/"li.#{campo}-price span.currency").first.inner_text.strip + " " + (p_html/"li.#{campo}-price span.amount").first.inner_text.strip)
83
- end
81
+ # campo = (p_html/"li").empty? ? "total" : "fare"
82
+ # @tarifas['total'] = (p_html/"li.#{campo}-price span.currency").empty? ? Price.new("$ 0",true) : Price.new((p_html/"li.#{campo}-price span.currency").first.inner_text.strip + " " + (p_html/"li.#{campo}-price span.amount").first.inner_text.strip)
83
+ # end
84
84
 
85
85
  end
@@ -7,7 +7,7 @@ module Checkout
7
7
 
8
8
  element(:pasajeros,:fieldset,:id=>"passengers")
9
9
  element(:checkout_id,:em,:class=>"checkout-id")
10
- element(:checkout_id_cash,:span,:class=>"checkout-id")
10
+ element(:checkout_id_cash,:span,:class=>"number")
11
11
 
12
12
  link(:comprar,:id=>"submit")
13
13
  link(:cupon_validar,:id=>"validate-voucher")
@@ -14,6 +14,7 @@ module Landing
14
14
  elements(:filtros_salidas,:checkbox,:css=>".ux-flights-filter-departures input")
15
15
  elements(:paginas,:li,:css=>".flights-pagination .page")
16
16
  elements(:detalle_precio_itinerario, :li, :css=>"#clusters .cluster .fare-detail li")
17
+ elements(:new_popup_detail,:div,:class=>'inline-detail')
17
18
 
18
19
  element(:precio_itinerario, :span, :css=>".cluster .fare .price-currency")
19
20
  element(:precio_itinerario_mx, :span, :css=>".cluster .total-price-only .price-currency")
@@ -40,12 +41,12 @@ module Landing
40
41
  radio_button(:vuelo_roundtrip,:id=>"roundtrip")
41
42
 
42
43
  select_list(:orden,:id=>"orderby")
43
- select_list(:adultos,:css=>"#searchPopup .adultsSelect")
44
- select_list(:menores,:css=>"#searchPopup .childsSelect")
45
- select_list(:edad,:css=>"#searchPopup .selectAge")
44
+ select_list(:adultos,:css=>"#search-popup .adults-select")
45
+ select_list(:menores,:css=>"#search-popup .childs-select")
46
+ select_list(:edad,:css=>"#search-popup .select-age")
46
47
  select_list(:moneda,:id=>"currency")
47
48
 
48
- link(:buscar_popup,:css=>"#searchPopup .flights-search-button")
49
+ link(:buscar_popup,:css=>"#search-popup .search-button")
49
50
 
50
51
  li(:pagina_previa,:class=>"pagination-button prev")
51
52
  li(:pagina_siguiente,:class=>"pagination-button next")
@@ -77,7 +78,7 @@ module Landing
77
78
  opciones_vuelta_elements[index].click if tipo_de_busqueda=="roundtrip"
78
79
  boton_comprar = itinerarios_elements[index].links(:class,/buy/).select{|boton| boton.present?}
79
80
  boton_comprar.first.click
80
- sleep(0.5)
81
+ adultos_element.when_visible(timeout=10)
81
82
  adultos_element.select(2)
82
83
  menores_element.select(1)
83
84
  edad_element.select_value(4)
@@ -96,24 +97,29 @@ module Landing
96
97
  def cargar_detalles_itinerarios()
97
98
  clusters = Array.new
98
99
  doc = Hpricot.parse(lista_itinerarios_element.html)
100
+ k = 0
99
101
  (doc/"div.cluster").each_with_index do |cluster,i|
100
102
  _cluster = {"idas"=>Array.new,"vueltas"=>Array.new}
101
103
  (cluster/"div.outbound li.cluster-item").each_with_index do |item,j|
102
104
  itinerarios_elements[i].div(:class,'sub-cluster outbound').span(:class,'showMoreItineraries').click if itinerarios_elements[i].div(:class,'sub-cluster outbound').span(:class,'showMoreItineraries').present?
103
- itinerarios_elements[i].div(:class,"sub-cluster outbound").li(:class=>'item itinerary cluster-item',:index=>j).li(:class,'stops').link(:class,'text').click
104
- _cluster["idas"] << OldDetailsCluster.new(Hpricot.parse(popup_detalles_element.html))
105
- popup_detalles_element.span(:class,'popup-close-button popup-close').click
105
+ itinerarios_elements[i].div(:class,'sub-cluster outbound').lis(:class,'detail')[j].links[0].span(:class,'text').click
106
+ new_popup_detail_elements[k].when_visible(timeout=20)
107
+ _cluster["idas"] << NewDetailsCluster.new(Hpricot.parse(new_popup_detail_elements[k].html))
108
+ itinerarios_elements[i].div(:class,'sub-cluster outbound').li(:class,'detail').span(:class,'itinerary-detail-hide').click
106
109
  sleep(0.25)
110
+ k = k + 1
107
111
  end
108
112
  (cluster/"div.inbound li.cluster-item").each_with_index do |item,j|
109
113
  itinerarios_elements[i].div(:class,'sub-cluster inbound').span(:class,'showMoreItineraries').click if itinerarios_elements[i].div(:class,'sub-cluster inbound').span(:class,'showMoreItineraries').present?
110
- itinerarios_elements[i].div(:class,"sub-cluster inbound").li(:class=>'item itinerary cluster-item',:index=>j).li(:class,'stops').link(:class,'text').click
111
- _cluster["vueltas"] << OldDetailsCluster.new(Hpricot.parse(popup_detalles_element.html))
112
- popup_detalles_element.span(:class,'popup-close-button popup-close').click
114
+ itinerarios_elements[i].div(:class,'sub-cluster inbound').lis(:class,'detail')[j].links[0].span(:class,'text').click
115
+ new_popup_detail_elements[k].when_visible(timeout=20)
116
+ _cluster["vueltas"] << NewDetailsCluster.new(Hpricot.parse(new_popup_detail_elements[k].html))
117
+ itinerarios_elements[i].div(:class,'sub-cluster inbound').li(:class,'detail').span(:class,'itinerary-detail-hide').click
113
118
  sleep(0.25)
119
+ k = k + 1
114
120
  end
115
121
  clusters << _cluster
116
- break if i > 2
122
+ break if i > 1
117
123
  end
118
124
  return clusters
119
125
  end
@@ -25,6 +25,7 @@ module Results
25
25
  link(:link_mejor_precio,:id=>"best-price")
26
26
 
27
27
  span(:header_mejor_precio,:class=>"nibbler-common-header-bestprice-inside ")
28
+ span(:loader,:class=>"loader-content")
28
29
 
29
30
  li(:pagina_previa,:class=>"pagination-button prev")
30
31
  li(:pagina_siguiente,:class=>"pagination-button next")
@@ -17,6 +17,7 @@ module Thanks
17
17
  div(:link_mi_despegar,:id=>"self-service")
18
18
  div(:mensaje_alerta,:class=>"ux-common-message ux-common-message-warning ")
19
19
  div(:datos_deposito,:class=>"thanks-reservation-info")
20
+ p(:mensaje_alerta_cash,:class=>"delay")
20
21
 
21
22
  elements(:pasos_pago_online,:div,:class=>"thanks-reservation-homebanking-step")
22
23
  elements(:links_mas_detalles_gracias,:link,:css=>"#popup-booking-details .stops .number")
@@ -7,7 +7,7 @@ module Thanks
7
7
  include PageObject
8
8
 
9
9
  element(:checkout_id,:em,:class=>"checkout-id")
10
- element(:checkout_id_cash,:span,:class=>"checkout-id")
10
+ element(:checkout_id_cash,:span,:class=>"number")
11
11
 
12
12
  div(:popup_desglose_gracias,:id=>"popup-booking-details")
13
13
  div(:popup_asistencia_al_viajero,:id=>"insurance-recommendation-popup")
@@ -15,7 +15,7 @@ module Thanks
15
15
  div(:cerrar_popup_asistencia_al_viajero,:css=>"#insurance-recommendation-popup .message-close")
16
16
  div(:popup_desglose_detalles_gracias,:class=>"flights-popup popup-detail")
17
17
  div(:link_mi_despegar,:class=>"ux-shared-checkout-thanks-ticket-cont")
18
- div(:mensaje_alerta,:class=>"ux-common-message ux-common-message-warning ")
18
+ p(:mensaje_alerta,:class=>"delay")
19
19
  div(:datos_deposito,:class=>"thanks-reservation-info")
20
20
 
21
21
  elements(:pasos_pago_online,:div,:class=>"thanks-reservation-homebanking-step")
@@ -1,3 +1,3 @@
1
1
  module FlightsGui
2
- VERSION = "2.3.38"
2
+ VERSION = "2.3.39"
3
3
  end
@@ -34,7 +34,6 @@ Característica: checkout.online_payment
34
34
  Entonces espero que termine de cargar la pagina de gracias
35
35
  Y verifico que ingrese a la pagina de gracias para pago cash
36
36
  Y verifico el popup de asistencia al viajero
37
- Y verifico los datos del vuelo comprado
38
37
  Y verifico los valores del desglose en gracias contra los del checkout
39
38
  Y verifico los pasos para hacer el pago online
40
39
  Y verifico el tag de datalayer
@@ -9,7 +9,6 @@ Característica: landing.filters
9
9
  * ingreso una pagina de landing del tipo '<tipo>'
10
10
  Cuando realizo la busqueda
11
11
  Entonces verifico que la pagina no rompa
12
- Entonces si el site es "AR|CO|VE", ingreso y espero que cargue la vieja pagina de landing
13
12
  Y verifico que traiga resultados de landing
14
13
  Cuando elijo el tipo de vuelo "<tipo>"
15
14
  Entonces verifico que la pagina no rompa
@@ -17,37 +16,41 @@ Característica: landing.filters
17
16
  Y verifico que la url sea la correcta
18
17
  Entonces elijo moneda local como precio de filtrado
19
18
  Cuando verifico que se muestren los filtros de estadia
20
- Cuando elijo una aerolinea a aplicar
19
+ Cuando abro los filtros de aerolineas
20
+ Cuando elijo una aerolinea a aplicar - filtros nuevo -
21
21
  Entonces filtro por aerolinea
22
22
  Cuando espero que termine de cargar la pagina de landing
23
23
  Entonces verifico que la pagina no rompa
24
24
  Y verifico que la primer pagina muestre correctamente los filtros de aerolineas
25
- Cuando limpio el filtro de aerolineas
25
+ Cuando abro los filtros de aerolineas
26
+ Cuando limpio el filtro de aerolineas - filtros nuevo -
26
27
  Cuando espero que termine de cargar la pagina de landing
27
28
  Entonces verifico que la pagina no rompa
28
- Cuando elijo un aeropuerto outbound a aplicar
29
+ Cuando abro los filtros de aeropuertos
30
+ Cuando elijo un aeropuerto de origen a aplicar - filtros nuevo -
29
31
  Entonces filtro por aeropuerto
30
32
  Cuando espero que termine de cargar la pagina de landing
31
33
  Entonces verifico que la pagina no rompa
32
34
  Y verifico que la primer pagina muestre correctamente los filtros de aeropuertos outbound
33
- Cuando limpio el filtro de aeropuertos de salida
35
+ Cuando abro los filtros de aeropuertos
36
+ Cuando limpio el filtro de aeropuertos de origen - filtros nuevo -
34
37
  Cuando espero que termine de cargar la pagina de landing
35
- Cuando elijo una escala a aplicar
38
+ Cuando abro los filtros de escalas
39
+ Cuando elijo una escala a aplicar - filtros nuevo -
36
40
  Entonces filtro por escala
37
41
  Cuando espero que termine de cargar la pagina de landing
38
42
  Entonces verifico que la pagina no rompa
39
43
  Y verifico que la primer pagina muestre correctamente los filtros de escalas
40
- Cuando limpio el filtro de escalas
44
+ Cuando abro los filtros de escalas
45
+ Cuando limpio el filtro de escalas - filtros nuevo -
41
46
  Cuando espero que termine de cargar la pagina de landing
42
- Cuando elijo un horario outbound a aplicar
43
- Entonces filtro por horario outbound
47
+ Cuando abro los filtros de horarios
48
+ Cuando elijo un horario a aplicar - filtros nuevo -
49
+ Entonces filtro por horario de ida - filtros nuevo -
44
50
  Cuando espero que termine de cargar la pagina de landing
45
51
  Y verifico que traiga resultados de landing
46
52
  Entonces verifico que la pagina no rompa
47
- Y verifico que la primer pagina muestre correctamente los filtros de horario outbound
48
- Cuando limpio el filtro de horario outbound
49
- Cuando espero que termine de cargar la pagina de landing
50
- Entonces verifico que la pagina no rompa
53
+ Y valido que la primer pagina muestre correctamente los filtros de horario de ida - filtros nuevo -
51
54
 
52
55
  @ar
53
56
  @roundtrip
@@ -9,7 +9,6 @@ Característica: landing.integration
9
9
  * ingreso una pagina de landing del tipo '<tipo>'
10
10
  Cuando realizo la busqueda
11
11
  Entonces verifico que la pagina no rompa
12
- Entonces si el site es "AR|CO|VE", ingreso y espero que cargue la vieja pagina de landing
13
12
  Y verifico que traiga resultados de landing
14
13
  Cuando elijo el tipo de vuelo "<tipo>"
15
14
  Entonces verifico que la pagina no rompa
@@ -9,7 +9,6 @@ Característica: landing.long_tail
9
9
  * ingreso una pagina de landing del tipo '<tipo>'
10
10
  Cuando realizo la busqueda
11
11
  Entonces verifico que la pagina no rompa
12
- Entonces si el site es "AR|CO|VE", ingreso y espero que cargue la vieja pagina de landing
13
12
  Y verifico que traiga resultados de landing
14
13
  Cuando elijo el tipo de vuelo "<tipo>"
15
14
  Entonces verifico que la pagina no rompa
@@ -24,12 +24,12 @@ Característica: landing.negative
24
24
  Y verifico que si la fecha de ida ingresada es posterior a la fecha de vuelta de error
25
25
  Y verifico que si la url no tiene el seoPath, se redirige a la pagina que si lo tiene
26
26
  Y verifico que si el seoPath esta mal escrito, se redirige a la pagina con el seoPath correcto
27
- Y verifico que si se pone un codigo de aeropuerto en vez de uno de cuidad, se redirige a la ciudad del aeropuerto
28
27
  Y verifico que si se pone algun caracter en mayuscula, se redirige a todo minuscula
29
28
  Y verifico que si la url tiene parametros, se deben conservar en la redireccion
30
29
  Y verifico que la url para sem funcione correctamente con un ciudad con resultados sin seoPath
31
30
  Y verifico que la url para sem funcione correctamente con un ciudad sin resultados sin seoPath
32
31
  Y verifico que la url de landing para el destino "lrl" no rompa
32
+ Y verifico que si se pone un codigo de aeropuerto en vez de uno de cuidad, se redirige a la ciudad del aeropuerto
33
33
 
34
34
  @pt
35
35
  @roundtrip
@@ -9,7 +9,6 @@ Característica: landing.search
9
9
  * ingreso una pagina de landing del tipo '<tipo>'
10
10
  Cuando realizo la busqueda
11
11
  Entonces verifico que la pagina no rompa
12
- Entonces si el site es "AR|CO|VE", ingreso y espero que cargue la vieja pagina de landing
13
12
  Y verifico que traiga resultados de landing
14
13
  Cuando elijo el tipo de vuelo "<tipo>"
15
14
  Entonces verifico que la pagina no rompa
@@ -28,7 +28,6 @@ Característica: results.multipleoneway
28
28
  Y espero que termine de cargar la pagina de checkout
29
29
  Y verifico que ingrese al checkout
30
30
  Entonces si existe la opcion de cobertura, elijo "no_chequear" si quiero cobertura
31
- #Y si el site es "MX", valido que no se muestre la leyenda de tarifas en pesos
32
31
  Y valido los valores del desglose del checkout con multipleoneway
33
32
  Y verifico el pixel de Efrontier
34
33
  Y verifico el pixel de trackeame en checkout
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: 2.3.38
4
+ version: 2.3.39
5
5
  platform: ruby
6
6
  authors:
7
7
  - lgonzalez
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-10-02 00:00:00.000000000 Z
11
+ date: 2015-10-07 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: henry-container