flights_gui_tests 0.3.6 → 0.3.7
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/results/results_steps.rb +7 -0
- data/features/support/classes/clusters/results/new_details_cluster.rb +36 -0
- data/features/support/env.rb +2 -5
- data/features/support/modules/results/itineraries/bussines.rb +14 -1
- data/features/support/modules/results/itineraries/details.rb +74 -15
- data/features/support/modules/results/itineraries/payments.rb +23 -4
- data/features/support/modules/results/itineraries.rb +22 -0
- data/features/support/pages/all_pages.rb +5 -1
- data/features/support/pages/checkout/popup_results_page.rb +2 -2
- data/features/support/pages/results/search_page.rb +5 -8
- data/features/tests/results/new_itineraries.feature +103 -0
- data/flights_gui_tests.gemspec +1 -1
- data/henry-context.yml +209 -58
- metadata +5 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: c153164b1e036e15f116b161901a481fa4a2dd19
|
4
|
+
data.tar.gz: e0757cdb69ea3619f290263734a25a8a787342ad
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 99062fa8fb25be26eda97915c1e111eb2174ea29402682546d2cbd8d27d4b264f143902dadf9dfc0fa0098e7cfdad04e0f21e1c427693731f3b1ebee69f78f4e
|
7
|
+
data.tar.gz: 48dcadba6d236ee6d43379741922f75a8f4965266664b2061bc44cfea7ffae6a387dd26b6860e0fac3164751279525f83b8fa769bcb2551bf58eed09f657075b
|
@@ -33,7 +33,10 @@ end
|
|
33
33
|
|
34
34
|
Entonces(/^recorro y (?:verifico|valido) cada itinerario$/) do
|
35
35
|
json = @page.manage_data.get_results_search_service("TOTALFARE")
|
36
|
+
@page.cerrar_popup_alerta_element.click if @page.cerrar_popup_alerta_element.present?
|
37
|
+
@page.cerrar_popup_cantidad_visitantes_element.click if @page.cerrar_popup_cantidad_visitantes_element.present?
|
36
38
|
i=0
|
39
|
+
$num = 0
|
37
40
|
@page.itinerarios_elements.each do |itinerario|
|
38
41
|
_itinerario = ResultsCluster.new(@page.tipo_de_busqueda,Hpricot.parse(itinerario.html))
|
39
42
|
@page.validar_millas(json,i)
|
@@ -54,4 +57,8 @@ Y(/^(?:verifico|valido) el popup de alertas$/) do
|
|
54
57
|
@page.cerrar_popup_alertas_element.click
|
55
58
|
sleep(1)
|
56
59
|
end
|
60
|
+
end
|
61
|
+
|
62
|
+
Cuando(/^defino nuevos itinerarios$/) do
|
63
|
+
@page.definir_nuevo_itinerario
|
57
64
|
end
|
@@ -0,0 +1,36 @@
|
|
1
|
+
# -*- encoding : utf-8 -*-
|
2
|
+
class NewDetailsCluster
|
3
|
+
attr_accessor :tramos, :duracion
|
4
|
+
def initialize(p_html)
|
5
|
+
@duracion = (p_html/"span.inline-detail-title span.inline-detail-total-duration span.inline-detail-total-duration-time").inner_text.strip.no_accents
|
6
|
+
@tramos = []
|
7
|
+
(p_html/"div.inline-detail-content div.inline-detail-data").each do |div|
|
8
|
+
tramo = Hash.new
|
9
|
+
if (div/"div.segment span.not-economy-segments").first.nil?
|
10
|
+
tramo['bussines'] = nil
|
11
|
+
tramo['clase'] = (div/"span.inline-detail-flight-cabinType span.inline-detail-flight-data-description").first.inner_text.strip.no_accents
|
12
|
+
else
|
13
|
+
tramo['bussines'] = true
|
14
|
+
tramo['clase'] = (div/"span.inline-detail-flight-cabinType span.inline-detail-flight-data-description").first.inner_text.strip.no_accents
|
15
|
+
end
|
16
|
+
tramo['ciudad_origen'] = (div/"span.inline-detail-airport-description").first.inner_text.gsub(/\-(.*)/,'').strip.no_accents
|
17
|
+
tramo['fecha_origen'] = Date.parse_new_details((div/"span.inline-detail-airport-date").first.inner_text.strip.gsub(/Sale:/,'').no_accents)
|
18
|
+
tramo['hora_origen'] = (div/"span.inline-detail-airport-hour").first.inner_text.empty? ? Time.parse((div/"span.inline-detail-airport-hour").last.inner_text.strip.no_accents) : Time.parse((div/"span.inline-detail-airport-hour").first.inner_text.strip.no_accents)
|
19
|
+
tramo['ciudad_destino'] = (div/"span.inline-detail-airport-description").last.inner_text.gsub(/\-(.*)/,'').strip.no_accents
|
20
|
+
tramo['hora_destino'] = (div/"span.inline-detail-airport-hour").last.inner_text.empty? ? Time.parse((div/"span.inline-detail-airport-hour").first.inner_text.strip.no_accents) : Time.parse((div/"span.inline-detail-airport-hour").last.inner_text.strip.no_accents)
|
21
|
+
@tramos << tramo
|
22
|
+
end
|
23
|
+
end
|
24
|
+
|
25
|
+
def to_s
|
26
|
+
text = String.new
|
27
|
+
@tramos.each_with_index do |tramo,i|
|
28
|
+
text << "[Tramo #{i}: "
|
29
|
+
tramo.each_pair do |key,value|
|
30
|
+
text << "#{key}:#{value} - "
|
31
|
+
end
|
32
|
+
text << "]"
|
33
|
+
end
|
34
|
+
return text
|
35
|
+
end
|
36
|
+
end
|
data/features/support/env.rb
CHANGED
@@ -44,11 +44,7 @@ require_relative 'modules/results/recommendation'
|
|
44
44
|
require_relative 'modules/results/matrix/matrix_airline'
|
45
45
|
require_relative 'modules/results/matrix/matrix_price'
|
46
46
|
require_relative 'modules/results/matrix/matrix_fare_chart'
|
47
|
-
require_relative 'modules/results/itineraries
|
48
|
-
require_relative 'modules/results/itineraries/bussines'
|
49
|
-
require_relative 'modules/results/itineraries/payments'
|
50
|
-
require_relative 'modules/results/itineraries/details'
|
51
|
-
require_relative 'modules/results/itineraries/data'
|
47
|
+
require_relative 'modules/results/itineraries'
|
52
48
|
|
53
49
|
require_relative 'modules/checkout/pasajeros'
|
54
50
|
require_relative 'modules/checkout/tarjeta'
|
@@ -78,6 +74,7 @@ require_relative 'classes/clusters/results_cluster'
|
|
78
74
|
require_relative 'classes/clusters/results/landing_cluster'
|
79
75
|
require_relative 'classes/clusters/results/render_cluster'
|
80
76
|
require_relative 'classes/clusters/results/details_cluster'
|
77
|
+
require_relative 'classes/clusters/results/new_details_cluster'
|
81
78
|
require_relative 'classes/clusters/checkout_cluster'
|
82
79
|
|
83
80
|
# carga de parametros globales
|
@@ -6,12 +6,25 @@ module Results
|
|
6
6
|
include PageObject
|
7
7
|
|
8
8
|
def validar_vuelo_bussines(i)
|
9
|
-
|
9
|
+
unless @nuevo_itinerario
|
10
|
+
if itinerarios_elements[i].div(:class,'not-economy-cluster-alert').present?
|
11
|
+
itinerarios_elements[i].span(:class,'ux-common-icon-rate-star').should visible("icono de bussines")
|
12
|
+
else
|
13
|
+
itinerarios_elements[i].span(:class,'ux-common-icon-rate-star').should_not visible("icono de bussines")
|
14
|
+
end
|
15
|
+
else
|
16
|
+
new_validar_vuelo_bussines(i)
|
17
|
+
end
|
18
|
+
end
|
19
|
+
|
20
|
+
def new_validar_vuelo_bussines(i)
|
21
|
+
if itinerarios_elements[i].div(:class,'not-economy-cluster-alert alert').present?
|
10
22
|
itinerarios_elements[i].span(:class,'ux-common-icon-rate-star').should visible("icono de bussines")
|
11
23
|
else
|
12
24
|
itinerarios_elements[i].span(:class,'ux-common-icon-rate-star').should_not visible("icono de bussines")
|
13
25
|
end
|
14
26
|
end
|
27
|
+
|
15
28
|
end
|
16
29
|
end
|
17
30
|
end
|
@@ -7,22 +7,28 @@ module Results
|
|
7
7
|
link(:mostrar_mas_itinerarios,:class=>"toggle-clusters show-clusters")
|
8
8
|
div(:popup_detail,:class=>'flights-popup popup-detail')
|
9
9
|
|
10
|
+
elements(:new_popup_detail,:div,:class=>'inline-detail')
|
11
|
+
|
10
12
|
def validar_mas_detalles(json,i,itinerario)
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
13
|
+
unless @nuevo_itinerario
|
14
|
+
j=0
|
15
|
+
mostrar_mas_itinerarios_element.click if mostrar_mas_itinerarios_element.present?
|
16
|
+
rutas_ida(itinerarios_elements[i]).each do |route|
|
17
|
+
cluster_detail = recorrer_segmentos(route,itinerario.idas[j])
|
18
|
+
j += 1
|
19
|
+
cerrar_popup
|
20
|
+
validar_clase(cluster_detail,route)
|
21
|
+
end
|
22
|
+
k=0
|
23
|
+
rutas_vuelta(itinerarios_elements[i]).each do |route|
|
24
|
+
cluster_detail = recorrer_segmentos(route,itinerario.vueltas[k])
|
25
|
+
k += 1
|
26
|
+
cerrar_popup
|
27
|
+
validar_clase(cluster_detail,route)
|
28
|
+
end
|
29
|
+
else
|
30
|
+
new_validar_mas_detalles(json,i,itinerario)
|
31
|
+
end
|
26
32
|
end
|
27
33
|
|
28
34
|
def validar_clase(cluster,route)
|
@@ -75,6 +81,59 @@ module Results
|
|
75
81
|
popup_detail_element.span(:class,'popup-close-button popup-close').click
|
76
82
|
sleep(0.5)
|
77
83
|
end
|
84
|
+
|
85
|
+
def new_cerrar_popup(route)
|
86
|
+
route.li(:class,'detail').links[0].click
|
87
|
+
sleep(0.5)
|
88
|
+
end
|
89
|
+
|
90
|
+
def new_reglas_de_vuelo(i)
|
91
|
+
popup = new_popup_detail_elements[i]
|
92
|
+
popup.div(:class,'top-box').a(:class,'show-rules show-cluster-rules').should 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
|
+
end
|
98
|
+
|
99
|
+
def new_recorrer_segmentos(route,cluster,i)
|
100
|
+
begin
|
101
|
+
route.li(:class,'detail').links[0].click
|
102
|
+
rescue Selenium::WebDriver::Error::ElementNotVisibleError
|
103
|
+
byebug
|
104
|
+
end
|
105
|
+
new_popup_detail_elements[i].when_visible(timeout=20)
|
106
|
+
doc = Hpricot.parse(new_popup_detail_elements[i].html)
|
107
|
+
detail = NewDetailsCluster.new(doc)
|
108
|
+
detail.duracion.should match(/#{cluster.duracion}/)
|
109
|
+
detail.tramos.first['ciudad_origen'].should match(cluster.origen)
|
110
|
+
detail.tramos.last['ciudad_destino'].should match(cluster.destino)
|
111
|
+
cluster.fecha.should equal(detail.tramos.first['fecha_origen'])
|
112
|
+
cluster.hou_sal_ida.should equal(detail.tramos.first['hora_origen'])
|
113
|
+
new_reglas_de_vuelo(i)
|
114
|
+
return detail
|
115
|
+
end
|
116
|
+
|
117
|
+
def new_validar_mas_detalles(json,i,itinerario)
|
118
|
+
j=0
|
119
|
+
mostrar_mas_itinerarios_element.click if mostrar_mas_itinerarios_element.present?
|
120
|
+
rutas_ida(itinerarios_elements[i]).each do |route|
|
121
|
+
cluster_detail = new_recorrer_segmentos(route,itinerario.idas[j],$num)
|
122
|
+
j += 1
|
123
|
+
$num += 1
|
124
|
+
new_cerrar_popup(route)
|
125
|
+
validar_clase(cluster_detail,route)
|
126
|
+
end
|
127
|
+
k=0
|
128
|
+
rutas_vuelta(itinerarios_elements[i]).each do |route|
|
129
|
+
cluster_detail = new_recorrer_segmentos(route,itinerario.vueltas[k],$num)
|
130
|
+
k += 1
|
131
|
+
$num += 1
|
132
|
+
new_cerrar_popup(route)
|
133
|
+
validar_clase(cluster_detail,route)
|
134
|
+
end
|
135
|
+
end
|
136
|
+
|
78
137
|
end
|
79
138
|
end
|
80
139
|
end
|
@@ -9,20 +9,39 @@ module Results
|
|
9
9
|
span(:cerrar_popup_cuotas,:css=>"#popup-payments .popup-close-button")
|
10
10
|
|
11
11
|
def validar_popup_cuotas(i)
|
12
|
-
|
12
|
+
unless @nuevo_itinerario
|
13
|
+
if(itinerarios_elements[i].div(:class,'actions').link(:class,'payments').present?)
|
14
|
+
itinerarios_elements[i].radio(:id,/outbound/).click if itinerarios_elements[i].radio(:id,/outbound/).present?
|
15
|
+
itinerarios_elements[i].radio(:id,/inbound/).click if itinerarios_elements[i].radio(:id,/inbound/).present?
|
16
|
+
itinerarios_elements[i].div(:class,'actions').link(:class,'payments').click
|
17
|
+
popup_cuotas_element.when_visible(timeout=20)
|
18
|
+
popup = Hpricot.parse(popup_cuotas_element.html)
|
19
|
+
sleep(0.5)
|
20
|
+
popup_cuotas_element.span(:class,'popup-close-button popup-close').click
|
21
|
+
popup_cuotas_element.when_not_visible(timeout=20)
|
22
|
+
else
|
23
|
+
itinerarios_elements[i].div(:class,'actions').text.should_not match("pagos|cuotas|installments|juros")
|
24
|
+
end
|
25
|
+
else
|
26
|
+
new_validar_popup_cuotas(i)
|
27
|
+
end
|
28
|
+
end
|
29
|
+
|
30
|
+
def new_validar_popup_cuotas(i)
|
31
|
+
if(itinerarios_elements[i].link(:text,/pagos|cuotas|installments|juros/).present?)
|
13
32
|
itinerarios_elements[i].radio(:id,/outbound/).click if itinerarios_elements[i].radio(:id,/outbound/).present?
|
14
33
|
itinerarios_elements[i].radio(:id,/inbound/).click if itinerarios_elements[i].radio(:id,/inbound/).present?
|
15
|
-
itinerarios_elements[i].
|
34
|
+
itinerarios_elements[i].link(:text,/pagos|cuotas|installments|juros/).click
|
16
35
|
popup_cuotas_element.when_visible(timeout=20)
|
17
36
|
popup = Hpricot.parse(popup_cuotas_element.html)
|
18
37
|
sleep(0.5)
|
19
38
|
popup_cuotas_element.span(:class,'popup-close-button popup-close').click
|
20
39
|
popup_cuotas_element.when_not_visible(timeout=20)
|
21
40
|
else
|
22
|
-
itinerarios_elements[i].div(:class,'
|
41
|
+
itinerarios_elements[i].div(:class,'fare-container').text.should_not match("pagos|cuotas|installments|juros")
|
23
42
|
end
|
24
43
|
end
|
25
|
-
|
44
|
+
|
26
45
|
end
|
27
46
|
end
|
28
47
|
end
|
@@ -0,0 +1,22 @@
|
|
1
|
+
# -*- encoding : utf-8 -*-
|
2
|
+
require_relative 'itineraries/miles'
|
3
|
+
require_relative 'itineraries/bussines'
|
4
|
+
require_relative 'itineraries/payments'
|
5
|
+
require_relative 'itineraries/details'
|
6
|
+
require_relative 'itineraries/data'
|
7
|
+
|
8
|
+
module Results
|
9
|
+
module Itineraries
|
10
|
+
|
11
|
+
include Results::Itineraries::Miles
|
12
|
+
include Results::Itineraries::Bussines
|
13
|
+
include Results::Itineraries::Payments
|
14
|
+
include Results::Itineraries::Details
|
15
|
+
include Results::Itineraries::Data
|
16
|
+
|
17
|
+
def definir_nuevo_itinerario()
|
18
|
+
@nuevo_itinerario = true
|
19
|
+
end
|
20
|
+
|
21
|
+
end
|
22
|
+
end
|
@@ -2,7 +2,7 @@ module Checkout
|
|
2
2
|
class PopupResultsPage < AllPages
|
3
3
|
include PageObject
|
4
4
|
|
5
|
-
elements(:buscar,:link,:class=>"buy btn-buy
|
5
|
+
elements(:buscar,:link,:class=>"buy btn-buy")
|
6
6
|
elements(:opciones_ida,:radio,:css=>"div.outbound input")
|
7
7
|
elements(:opciones_vuelta,:radio,:css=>"div.inbound input")
|
8
8
|
elements(:itinerarios, :div, :css=>"#clusters .cluster")
|
@@ -19,7 +19,7 @@ module Checkout
|
|
19
19
|
def elegir_itinerario(index)
|
20
20
|
itinerarios_elements[index].div(:class,'sub-cluster outbound').radios[0].click unless tipo_de_busqueda=="multipledestinations"
|
21
21
|
itinerarios_elements[index].div(:class,'sub-cluster inbound').radios[0].click if tipo_de_busqueda=="roundtrip"
|
22
|
-
|
22
|
+
@browser.execute_script("javascript:void($('.buy').click())")
|
23
23
|
return @datos_de_itinerarios[index]
|
24
24
|
end
|
25
25
|
|
@@ -7,11 +7,7 @@ module Results
|
|
7
7
|
include Results::Matriz::MatrizAerolinea
|
8
8
|
include Results::Matriz::MatrizPrice
|
9
9
|
include Results::Matriz::MatrizFareChart
|
10
|
-
include Results::Itineraries
|
11
|
-
include Results::Itineraries::Bussines
|
12
|
-
include Results::Itineraries::Payments
|
13
|
-
include Results::Itineraries::Details
|
14
|
-
include Results::Itineraries::Data
|
10
|
+
include Results::Itineraries
|
15
11
|
include Results::SearchParams
|
16
12
|
include Results::Filters
|
17
13
|
include Results::NewFilters
|
@@ -39,8 +35,8 @@ module Results
|
|
39
35
|
elements(:itinerarios, :div, :css=>"#clusters .cluster")
|
40
36
|
elements(:detalle_precio_itinerario, :li, :css=>"#clusters .cluster .fare-detail li")
|
41
37
|
|
42
|
-
# element(:ofertas_personalizadas ,:
|
43
|
-
# element(:ofertas_por_pais ,:
|
38
|
+
# element(:ofertas_personalizadas ,:a ,:css=>"div#flight-offers-international a.flight-offer")
|
39
|
+
# element(:ofertas_por_pais ,:a ,:css=>"div#flight-offers-domestic a.flight-offer")
|
44
40
|
element(:itinerario, :div, :css=>"#clusters .cluster")
|
45
41
|
element(:desglose,:li,:css=>"#clusters .cluster .fare-detail li")
|
46
42
|
element(:precio_itinerario, :span, :css=>".cluster .fare .price-currency")
|
@@ -128,6 +124,7 @@ module Results
|
|
128
124
|
|
129
125
|
def last_minute?
|
130
126
|
return (manage_data.date_from_1 - Date.today).to_i < 2
|
131
|
-
end
|
127
|
+
end
|
128
|
+
|
132
129
|
end
|
133
130
|
end
|
@@ -0,0 +1,103 @@
|
|
1
|
+
#language: es
|
2
|
+
@results
|
3
|
+
Característica: results.new_itineraries
|
4
|
+
Se verifica que los cluster contengan datos y funcionalidad correcta.
|
5
|
+
|
6
|
+
@new_itineraries
|
7
|
+
Esquema del escenario: Se recorren los nuevos clusters, por cada uno se validan datos consistentes con la busqueda y funcionamiento de popups
|
8
|
+
Dado como un usuario de '<pais>'
|
9
|
+
* ingreso una busqueda '<tipo>' del tipo '<cabotage>'
|
10
|
+
Cuando realizo la busqueda
|
11
|
+
Entonces verifico que la pagina no rompa
|
12
|
+
Cuando espero que termine de cargar la pagina de resultados
|
13
|
+
Entonces verifico que traiga resultados
|
14
|
+
Cuando fuerzo el abztesting de "clusterStyle" al "15"
|
15
|
+
Cuando si el site es "MX", fuerzo el abztesting de "filters" al "15"
|
16
|
+
Y ingreso una busqueda '<tipo>' del tipo '<cabotage>'
|
17
|
+
Y realizo la busqueda
|
18
|
+
Cuando verifico que la pagina no rompa
|
19
|
+
Cuando espero que termine de cargar la pagina de resultados
|
20
|
+
Entonces verifico que traiga resultados
|
21
|
+
Cuando si el site es "MX|AR", verifico el ordenamiento premium economy
|
22
|
+
Cuando ordeno por "TOTALFARE_ASCENDING"
|
23
|
+
Cuando espero que termine de cargar la pagina de resultados
|
24
|
+
Cuando defino nuevos itinerarios
|
25
|
+
Entonces recorro y verifico cada itinerario
|
26
|
+
|
27
|
+
@ar
|
28
|
+
Ejemplos:
|
29
|
+
|pais|tipo|cabotage|
|
30
|
+
|AR |roundtrip|true|
|
31
|
+
|AR |multipledestinations|true|
|
32
|
+
|AR |oneway|nil|
|
33
|
+
@br
|
34
|
+
Ejemplos:
|
35
|
+
|pais|tipo|cabotage|
|
36
|
+
|BR |oneway|true|
|
37
|
+
|BR |roundtrip|true|
|
38
|
+
@co
|
39
|
+
Ejemplos:
|
40
|
+
|pais|tipo|cabotage|
|
41
|
+
|CO |roundtrip|true|
|
42
|
+
|CO |oneway|nil|
|
43
|
+
|CO |multipledestinations|nil|
|
44
|
+
@mx
|
45
|
+
Ejemplos:
|
46
|
+
|pais|tipo|cabotage|
|
47
|
+
|MX |roundtrip|true|
|
48
|
+
|MX |oneway|nil|
|
49
|
+
|MX |multipledestinations|nil|
|
50
|
+
@ve
|
51
|
+
Ejemplos:
|
52
|
+
|pais|tipo|cabotage|
|
53
|
+
|VE |roundtrip|true|
|
54
|
+
|VE |oneway|true|
|
55
|
+
|VE |multipledestinations|true|
|
56
|
+
@cl
|
57
|
+
Ejemplos:
|
58
|
+
|pais|tipo|cabotage|
|
59
|
+
|CL |roundtrip|nil|
|
60
|
+
|CL |oneway|nil|
|
61
|
+
|CL |multipledestinations|nil|
|
62
|
+
@cr
|
63
|
+
Ejemplos:
|
64
|
+
|pais|tipo|cabotage|
|
65
|
+
|CR |roundtrip|true|
|
66
|
+
|CR |oneway|true|
|
67
|
+
|CR |multipledestinations|nil|
|
68
|
+
@ec
|
69
|
+
Ejemplos:
|
70
|
+
|pais|tipo|cabotage|
|
71
|
+
|EC |multipledestinations|true|
|
72
|
+
|EC |roundtrip|nil|
|
73
|
+
|EC |oneway|nil|
|
74
|
+
@pa
|
75
|
+
Ejemplos:
|
76
|
+
|pais|tipo|cabotage|
|
77
|
+
|PA |oneway|true|
|
78
|
+
|PA |multipledestinations|true|
|
79
|
+
|PA |roundtrip|nil|
|
80
|
+
@pe
|
81
|
+
Ejemplos:
|
82
|
+
|pais|tipo|cabotage|
|
83
|
+
|PE |roundtrip|true|
|
84
|
+
|PE |oneway|true|
|
85
|
+
|PE |multipledestinations|nil|
|
86
|
+
@us
|
87
|
+
Ejemplos:
|
88
|
+
|pais|tipo|cabotage|
|
89
|
+
|US |roundtrip|true|
|
90
|
+
|US |oneway|true|
|
91
|
+
|US |multipledestinations|nil|
|
92
|
+
@uy
|
93
|
+
Ejemplos:
|
94
|
+
|pais|tipo|cabotage|
|
95
|
+
|UY |multipledestinations|true|
|
96
|
+
|UY |roundtrip|nil|
|
97
|
+
|UY |oneway|nil|
|
98
|
+
@pr
|
99
|
+
Ejemplos:
|
100
|
+
|pais|tipo|cabotage|
|
101
|
+
|PR |multipledestinations|true|
|
102
|
+
|PR |roundtrip|nil|
|
103
|
+
|PR |oneway|nil|
|
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.3.
|
17
|
+
gem.version = '0.3.7' # 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')
|
data/henry-context.yml
CHANGED
@@ -2121,6 +2121,215 @@ tasks:
|
|
2121
2121
|
recipients:
|
2122
2122
|
- estebanldh@gmail.com
|
2123
2123
|
- nsimean@despegar.com
|
2124
|
+
- name: results.new_itineraries
|
2125
|
+
class_name: Henry::Task::CucumberTask
|
2126
|
+
options:
|
2127
|
+
tags:
|
2128
|
+
- results
|
2129
|
+
- new_itineraries
|
2130
|
+
expand: true
|
2131
|
+
no-source: true
|
2132
|
+
reports:
|
2133
|
+
- format: html
|
2134
|
+
name: ${DATE}_${TASK_NAME}.html
|
2135
|
+
recipients:
|
2136
|
+
- estebanldh@gmail.com
|
2137
|
+
- nsimean@despegar.com
|
2138
|
+
- name: results.new_itineraries.ar
|
2139
|
+
class_name: Henry::Task::CucumberTask
|
2140
|
+
options:
|
2141
|
+
tags:
|
2142
|
+
- results
|
2143
|
+
- new_itineraries
|
2144
|
+
- ar
|
2145
|
+
expand: true
|
2146
|
+
no-source: true
|
2147
|
+
reports:
|
2148
|
+
- format: html
|
2149
|
+
name: ${DATE}_${TASK_NAME}.html
|
2150
|
+
recipients:
|
2151
|
+
- estebanldh@gmail.com
|
2152
|
+
- nsimean@despegar.com
|
2153
|
+
- name: results.new_itineraries.br
|
2154
|
+
class_name: Henry::Task::CucumberTask
|
2155
|
+
options:
|
2156
|
+
tags:
|
2157
|
+
- results
|
2158
|
+
- new_itineraries
|
2159
|
+
- br
|
2160
|
+
expand: true
|
2161
|
+
no-source: true
|
2162
|
+
reports:
|
2163
|
+
- format: html
|
2164
|
+
name: ${DATE}_${TASK_NAME}.html
|
2165
|
+
recipients:
|
2166
|
+
- estebanldh@gmail.com
|
2167
|
+
- nsimean@despegar.com
|
2168
|
+
- name: results.new_itineraries.co
|
2169
|
+
class_name: Henry::Task::CucumberTask
|
2170
|
+
options:
|
2171
|
+
tags:
|
2172
|
+
- results
|
2173
|
+
- new_itineraries
|
2174
|
+
- co
|
2175
|
+
expand: true
|
2176
|
+
no-source: true
|
2177
|
+
reports:
|
2178
|
+
- format: html
|
2179
|
+
name: ${DATE}_${TASK_NAME}.html
|
2180
|
+
recipients:
|
2181
|
+
- estebanldh@gmail.com
|
2182
|
+
- nsimean@despegar.com
|
2183
|
+
- name: results.new_itineraries.mx
|
2184
|
+
class_name: Henry::Task::CucumberTask
|
2185
|
+
options:
|
2186
|
+
tags:
|
2187
|
+
- results
|
2188
|
+
- new_itineraries
|
2189
|
+
- mx
|
2190
|
+
expand: true
|
2191
|
+
no-source: true
|
2192
|
+
reports:
|
2193
|
+
- format: html
|
2194
|
+
name: ${DATE}_${TASK_NAME}.html
|
2195
|
+
recipients:
|
2196
|
+
- estebanldh@gmail.com
|
2197
|
+
- nsimean@despegar.com
|
2198
|
+
- name: results.new_itineraries.ve
|
2199
|
+
class_name: Henry::Task::CucumberTask
|
2200
|
+
options:
|
2201
|
+
tags:
|
2202
|
+
- results
|
2203
|
+
- new_itineraries
|
2204
|
+
- ve
|
2205
|
+
expand: true
|
2206
|
+
no-source: true
|
2207
|
+
reports:
|
2208
|
+
- format: html
|
2209
|
+
name: ${DATE}_${TASK_NAME}.html
|
2210
|
+
recipients:
|
2211
|
+
- estebanldh@gmail.com
|
2212
|
+
- nsimean@despegar.com
|
2213
|
+
- name: results.new_itineraries.cl
|
2214
|
+
class_name: Henry::Task::CucumberTask
|
2215
|
+
options:
|
2216
|
+
tags:
|
2217
|
+
- results
|
2218
|
+
- new_itineraries
|
2219
|
+
- cl
|
2220
|
+
expand: true
|
2221
|
+
no-source: true
|
2222
|
+
reports:
|
2223
|
+
- format: html
|
2224
|
+
name: ${DATE}_${TASK_NAME}.html
|
2225
|
+
recipients:
|
2226
|
+
- estebanldh@gmail.com
|
2227
|
+
- nsimean@despegar.com
|
2228
|
+
- name: results.new_itineraries.cr
|
2229
|
+
class_name: Henry::Task::CucumberTask
|
2230
|
+
options:
|
2231
|
+
tags:
|
2232
|
+
- results
|
2233
|
+
- new_itineraries
|
2234
|
+
- cr
|
2235
|
+
expand: true
|
2236
|
+
no-source: true
|
2237
|
+
reports:
|
2238
|
+
- format: html
|
2239
|
+
name: ${DATE}_${TASK_NAME}.html
|
2240
|
+
recipients:
|
2241
|
+
- estebanldh@gmail.com
|
2242
|
+
- nsimean@despegar.com
|
2243
|
+
- name: results.new_itineraries.ec
|
2244
|
+
class_name: Henry::Task::CucumberTask
|
2245
|
+
options:
|
2246
|
+
tags:
|
2247
|
+
- results
|
2248
|
+
- new_itineraries
|
2249
|
+
- ec
|
2250
|
+
expand: true
|
2251
|
+
no-source: true
|
2252
|
+
reports:
|
2253
|
+
- format: html
|
2254
|
+
name: ${DATE}_${TASK_NAME}.html
|
2255
|
+
recipients:
|
2256
|
+
- estebanldh@gmail.com
|
2257
|
+
- nsimean@despegar.com
|
2258
|
+
- name: results.new_itineraries.pa
|
2259
|
+
class_name: Henry::Task::CucumberTask
|
2260
|
+
options:
|
2261
|
+
tags:
|
2262
|
+
- results
|
2263
|
+
- new_itineraries
|
2264
|
+
- pa
|
2265
|
+
expand: true
|
2266
|
+
no-source: true
|
2267
|
+
reports:
|
2268
|
+
- format: html
|
2269
|
+
name: ${DATE}_${TASK_NAME}.html
|
2270
|
+
recipients:
|
2271
|
+
- estebanldh@gmail.com
|
2272
|
+
- nsimean@despegar.com
|
2273
|
+
- name: results.new_itineraries.pe
|
2274
|
+
class_name: Henry::Task::CucumberTask
|
2275
|
+
options:
|
2276
|
+
tags:
|
2277
|
+
- results
|
2278
|
+
- new_itineraries
|
2279
|
+
- pe
|
2280
|
+
expand: true
|
2281
|
+
no-source: true
|
2282
|
+
reports:
|
2283
|
+
- format: html
|
2284
|
+
name: ${DATE}_${TASK_NAME}.html
|
2285
|
+
recipients:
|
2286
|
+
- estebanldh@gmail.com
|
2287
|
+
- nsimean@despegar.com
|
2288
|
+
- name: results.new_itineraries.us
|
2289
|
+
class_name: Henry::Task::CucumberTask
|
2290
|
+
options:
|
2291
|
+
tags:
|
2292
|
+
- results
|
2293
|
+
- new_itineraries
|
2294
|
+
- us
|
2295
|
+
expand: true
|
2296
|
+
no-source: true
|
2297
|
+
reports:
|
2298
|
+
- format: html
|
2299
|
+
name: ${DATE}_${TASK_NAME}.html
|
2300
|
+
recipients:
|
2301
|
+
- estebanldh@gmail.com
|
2302
|
+
- nsimean@despegar.com
|
2303
|
+
- name: results.new_itineraries.uy
|
2304
|
+
class_name: Henry::Task::CucumberTask
|
2305
|
+
options:
|
2306
|
+
tags:
|
2307
|
+
- results
|
2308
|
+
- new_itineraries
|
2309
|
+
- uy
|
2310
|
+
expand: true
|
2311
|
+
no-source: true
|
2312
|
+
reports:
|
2313
|
+
- format: html
|
2314
|
+
name: ${DATE}_${TASK_NAME}.html
|
2315
|
+
recipients:
|
2316
|
+
- estebanldh@gmail.com
|
2317
|
+
- nsimean@despegar.com
|
2318
|
+
- name: results.new_itineraries.pr
|
2319
|
+
class_name: Henry::Task::CucumberTask
|
2320
|
+
options:
|
2321
|
+
tags:
|
2322
|
+
- results
|
2323
|
+
- new_itineraries
|
2324
|
+
- pr
|
2325
|
+
expand: true
|
2326
|
+
no-source: true
|
2327
|
+
reports:
|
2328
|
+
- format: html
|
2329
|
+
name: ${DATE}_${TASK_NAME}.html
|
2330
|
+
recipients:
|
2331
|
+
- estebanldh@gmail.com
|
2332
|
+
- nsimean@despegar.com
|
2124
2333
|
- name: results.itineraries
|
2125
2334
|
class_name: Henry::Task::CucumberTask
|
2126
2335
|
options:
|
@@ -9512,51 +9721,6 @@ tasks:
|
|
9512
9721
|
recipients:
|
9513
9722
|
- estebanldh@gmail.com
|
9514
9723
|
- nsimean@despegar.com
|
9515
|
-
- name: prueba.busqueda
|
9516
|
-
class_name: Henry::Task::CucumberTask
|
9517
|
-
options:
|
9518
|
-
tags:
|
9519
|
-
- prueba
|
9520
|
-
- busqueda
|
9521
|
-
expand: true
|
9522
|
-
no-source: true
|
9523
|
-
reports:
|
9524
|
-
- format: html
|
9525
|
-
name: ${DATE}_${TASK_NAME}.html
|
9526
|
-
recipients:
|
9527
|
-
- estebanldh@gmail.com
|
9528
|
-
- nsimean@despegar.com
|
9529
|
-
- name: prueba.busqueda.ar
|
9530
|
-
class_name: Henry::Task::CucumberTask
|
9531
|
-
options:
|
9532
|
-
tags:
|
9533
|
-
- prueba
|
9534
|
-
- busqueda
|
9535
|
-
- ar
|
9536
|
-
expand: true
|
9537
|
-
no-source: true
|
9538
|
-
reports:
|
9539
|
-
- format: html
|
9540
|
-
name: ${DATE}_${TASK_NAME}.html
|
9541
|
-
recipients:
|
9542
|
-
- estebanldh@gmail.com
|
9543
|
-
- nsimean@despegar.com
|
9544
|
-
- name: prueba.busqueda.ar.roundtrip
|
9545
|
-
class_name: Henry::Task::CucumberTask
|
9546
|
-
options:
|
9547
|
-
tags:
|
9548
|
-
- prueba
|
9549
|
-
- busqueda
|
9550
|
-
- ar
|
9551
|
-
- roundtrip
|
9552
|
-
expand: true
|
9553
|
-
no-source: true
|
9554
|
-
reports:
|
9555
|
-
- format: html
|
9556
|
-
name: ${DATE}_${TASK_NAME}.html
|
9557
|
-
recipients:
|
9558
|
-
- estebanldh@gmail.com
|
9559
|
-
- nsimean@despegar.com
|
9560
9724
|
- name: checkout.low_cost
|
9561
9725
|
class_name: Henry::Task::CucumberTask
|
9562
9726
|
options:
|
@@ -12475,19 +12639,6 @@ tasks:
|
|
12475
12639
|
recipients:
|
12476
12640
|
- estebanldh@gmail.com
|
12477
12641
|
- nsimean@despegar.com
|
12478
|
-
- name: prueba
|
12479
|
-
class_name: Henry::Task::CucumberTask
|
12480
|
-
options:
|
12481
|
-
tags:
|
12482
|
-
- prueba
|
12483
|
-
expand: true
|
12484
|
-
no-source: true
|
12485
|
-
reports:
|
12486
|
-
- format: html
|
12487
|
-
name: ${DATE}_${TASK_NAME}.html
|
12488
|
-
recipients:
|
12489
|
-
- estebanldh@gmail.com
|
12490
|
-
- nsimean@despegar.com
|
12491
12642
|
- name: checkout
|
12492
12643
|
class_name: Henry::Task::CucumberTask
|
12493
12644
|
options:
|
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.3.
|
4
|
+
version: 0.3.7
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- lgonzalez
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2014-11-
|
11
|
+
date: 2014-11-28 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: henry-container
|
@@ -248,6 +248,7 @@ files:
|
|
248
248
|
- features/support/classes/clusters/data/data.rb
|
249
249
|
- features/support/classes/clusters/results/details_cluster.rb
|
250
250
|
- features/support/classes/clusters/results/landing_cluster.rb
|
251
|
+
- features/support/classes/clusters/results/new_details_cluster.rb
|
251
252
|
- features/support/classes/clusters/results/render_cluster.rb
|
252
253
|
- features/support/classes/clusters/results_cluster.rb
|
253
254
|
- features/support/classes/date.rb
|
@@ -274,6 +275,7 @@ files:
|
|
274
275
|
- features/support/modules/pages/cookies.rb
|
275
276
|
- features/support/modules/pages/tags.rb
|
276
277
|
- features/support/modules/results/filters.rb
|
278
|
+
- features/support/modules/results/itineraries.rb
|
277
279
|
- features/support/modules/results/itineraries/bussines.rb
|
278
280
|
- features/support/modules/results/itineraries/data.rb
|
279
281
|
- features/support/modules/results/itineraries/details.rb
|
@@ -335,6 +337,7 @@ files:
|
|
335
337
|
- features/tests/results/matrix/matrix_fare_chart.feature
|
336
338
|
- features/tests/results/matrix/matrix_price.feature
|
337
339
|
- features/tests/results/new_filters.feature
|
340
|
+
- features/tests/results/new_itineraries.feature
|
338
341
|
- features/tests/results/orders.feature
|
339
342
|
- features/tests/results/pagination.feature
|
340
343
|
- features/tests/results/recommendation.feature
|