flights_gui_henry_tests 2.0.3 → 2.0.4

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 CHANGED
@@ -1,15 +1,15 @@
1
1
  ---
2
2
  !binary "U0hBMQ==":
3
3
  metadata.gz: !binary |-
4
- ODYyYzk5NWI0NTFkYTJmZTg1Y2E1NDQ0NTIzZDJhYmE1ZjNkYmZmMw==
4
+ ZGRjOTA1MWIxNTNlYzI4YjQxM2M5ZmIwMTMyZWE2ZjVlZWRiYmNmYQ==
5
5
  data.tar.gz: !binary |-
6
- OGJkMGVmMDkwNzVkNmIzMmM2NTMyOTNjNzQxZDA0ZjcxMzVkMDBmMQ==
6
+ YjlhZjU2OTExNDYxZWIyOTlhZTA1OGJlYTQxOGRlMmU2MTJkNTk0Zg==
7
7
  SHA512:
8
8
  metadata.gz: !binary |-
9
- NGUyNTg0YmI2MzIwM2JhMzM5ZWE3ZmJiYWQ3N2QyYTRmZjc2YmQ2YzI1N2I0
10
- MTBkZGM1ZGI4NDEwZWY3MDdmMmVhNTkwMjIzNWEwZDIwMDUxZTY1MDdhYWMw
11
- NjdkNjE3ZDhiOGM3ZTI0MmM2YzY1ODg0NGNlMjVhYjU1OGExNzM=
9
+ YmVmODMyOTI3NDM4OGI4MThkMzM5ZTVkNDg4YjY0NDdlNTIxNjFhMWU4MDY0
10
+ OGIwMzI3OTAyNjExYzJlZTY3Y2FhYjRkYTdkZDVhOTc1NjY2OGZlOTkwOGQ5
11
+ MjlhYTIxYmZiYjA3ODg5ZTI0NTRhZTQ2YjU1YjEwNTVlZDMxZDk=
12
12
  data.tar.gz: !binary |-
13
- NzZlNDk0N2VhMGNmNjhiMDQ0N2I4NzcyMTkxOGQ1OTM4ZDAyZGExYTlmMzhk
14
- ZDEwNmM0ZmY2NDRkNzA1NWViZDA4MzU2N2FjZWJlZWUwMzc5YjI0NmRhYjRh
15
- NjU1YWNiYmUzMWYzNjNjZTM5YTY5NjYxMDM1Mjg4YTBiYjQ3ODI=
13
+ MTJhY2FmYzFhYzA0MmRmNjk5YjZmY2NmZGYzYzU5NTk5M2FmYTc0NjAyZjgz
14
+ NDk1NWNlZDg2MGRiMTc3NmMzMTJlNDhlMTA5MzhkMTM5NTc1OWE2ZmU4Y2Q2
15
+ NDFkZTg1YWFkNGNmMGUzOGFlNjI3MzQwOWE0NGYzMzdiNjQxYWE=
@@ -1,7 +1,7 @@
1
1
  US:
2
2
  text:
3
- - Comprando estes voos voce acumula ate miles unit
4
- - Comprando estes voos voce acumula unit
3
+ - Earn up to miles unit
4
+ - You can earn miles unit
5
5
  unit:
6
6
  MILE: miles
7
7
  KILOMETER: kilometres
@@ -47,7 +47,7 @@ US:
47
47
  - with SkyMiles reward program
48
48
  - You can earn unit SkyMiles
49
49
  AM:
50
- - with Premier reward program
50
+ - with Club Premier reward program
51
51
  - You can earn unit Club Premier
52
52
  AC:
53
53
  - with Altitude reward program
@@ -185,3 +185,15 @@ And /^Levanto los datos del vuelo$/ do
185
185
  end
186
186
  end
187
187
  end
188
+
189
+ When /^Verifico que se muestre el banner de cancelacion$/ do
190
+ value = get_abtesting "showFreeCancelMessage"
191
+ puts value
192
+ if $SITE=="EC" and value < 50
193
+ BROWSER.div(:id,'cancellation-advice').should visible("banner de cancelacion")
194
+ BROWSER.div(:id,'cancellation-advice').div(:class,'ux-common-message-content').p(:index,0).text.strip.should equal("¡Compre tranquilo!")
195
+ BROWSER.div(:id,'cancellation-advice').div(:class,'ux-common-message-content').p(:index,1).text.no_accents.strip.should equal("Si necesita cancelar su compra puede hacerlo gratis desde Mi Despegar hasta las 22 hs. del dia de hoy.")
196
+ else
197
+ BROWSER.div(:id,'cancellation-advice').should_not visible("banner de cancelacion")
198
+ end
199
+ end
@@ -1,3 +1,4 @@
1
+ # -*- encoding : utf-8 -*-
1
2
  When /^Verifico que sean visibles los campos obligatorios$/ do
2
3
  container = BROWSER.fieldset(:id,'passengers')
3
4
  index = 0
@@ -248,4 +249,16 @@ And /^Verifico los campos de cupones de descuento$/ do
248
249
  BROWSER.div(:class,'ux-common-warning ux-common-error').should visible
249
250
  BROWSER.div(:class,'ux-common-warning ux-common-error').text.no_accents.downcase.should match("ocurrio un error con el codigo de referencia")
250
251
  end
251
- end
252
+ end
253
+
254
+ And /^Verifico las nacionalidades de los pasajeros$/ do
255
+ if $SITE=~/AR|VE/
256
+ container = BROWSER.fieldset(:id,'passengers')
257
+ container.select_list(:id,'nationality-0').select_value($SITE)
258
+ container.span(:id,'nationality-0-invalid_custom_nationality').should_not visible("error en la nacionalidad")
259
+ container.select_list(:id,'nationality-0').select_value("BR")
260
+ container.span(:id,'nationality-0-invalid_custom_nationality').should visible("error en la nacionalidad")
261
+ container.span(:id,'nationality-0-invalid_custom_nationality').text.no_accents.should match("En cumplimiento de la resolucion 5499, solo podran comprar en este sitio residentes de la Republica Argentina.|Pasajes aereos internacionales solo para la venta de residentes de la Republica Bolivariana de Venezuela conformes al Art 2 de la providencia 124 de Cadivi.")
262
+ BROWSER.div(:id,'agreement.value').label(:class,'label').text.no_accents.should match("y declaro que todos los pasajeros son residentes de la Republica Argentina|y declaro ser residente de la Republica Bolivariana de Venezuela")
263
+ end
264
+ end
@@ -50,7 +50,9 @@ When /^Genero resultados de landing$/ do
50
50
  end
51
51
 
52
52
  When /^Espero que termine de cargar la home de landing$/ do
53
- Watir::Wait.until(timeout = 60){BROWSER.div(:class,'destiny-offers').present? or BROWSER.div(:class,'most-searched').present?}
53
+ Watir::Wait.until(timeout = 60){BROWSER.div(:class,'destiny-offers').present? or BROWSER.div(:class,'most-searched').present? or BROWSER.form(:class,'searchbox flights').present?}
54
+ sleep(2)
55
+ pending("No hay resultados ") unless (BROWSER.div(:class,'destiny-offers').present? or BROWSER.div(:class,'most-searched').present?)
54
56
  @class_div = BROWSER.div(:class,'destiny-offers').present? ? 'destiny-offers' : 'most-searched'
55
57
  end
56
58
 
@@ -35,12 +35,19 @@ end
35
35
  Then /^Valido el sorting en "(.*)"$/ do |pais|
36
36
  doc = Hpricot.parse(BROWSER.select_list(:id,'orderby').html)
37
37
  options = (doc/"option").collect{|option| option.attributes['value']}
38
- (options.include?("TOTALFARE_ASCENDING") and options.include?("TOTALFARE_DESCENDING")).should be_true
39
38
  if pais=="BR"
40
39
  BROWSER.select_list(:id,'orderby').value.should match("FARE_ASCENDING")
41
40
  elsif pais != "MX"
42
41
  BROWSER.select_list(:id,'orderby').value.should match("TOTALFARE_ASCENDING")
43
42
  end
43
+ options.should include?("FARE_ASCENDING")
44
+ options.should include?("STOPSCOUNT_ASCENDING")
45
+ options.should include?("TOTALFARE_ASCENDING")
46
+ options.should include?("DURATION_ASCENDING")
47
+ options.should include?("PERSONAL_ASCENDING")
48
+ options.should_not include?("FARE_DESCENDING")
49
+ options.should_not include?("STOPSCOUNT_DESCENDING")
50
+ options.should_not include?("TOTALFARE_DESCENDING")
44
51
  end
45
52
 
46
53
  Then /^Verifico que el texto en el combo de ordenamiento sea el correcto$/ do
@@ -59,6 +66,6 @@ Then /^Verifico los textos de las opciones del combo$/ do
59
66
  else "Mas Elegidos"
60
67
  end
61
68
  doc = Hpricot.parse(BROWSER.select_list(:id,'orderby').html)
62
- options = (doc/"option").collect{|option| option.inner_text.no_accents}
69
+ options = (doc/"option").collect{|option| option.inner_text.no_accents.strip}
63
70
  options.include?(combo_text).should be_true
64
71
  end
@@ -180,10 +180,13 @@ end
180
180
 
181
181
  And /^Realizo la compra$/ do
182
182
  #BROWSER.checkbox(:id=>'read-agreement').set(true)
183
- BROWSER.execute_script("javascript:void($('#read-agreement').click());")
183
+ unless BROWSER.checkbox(:id=>'read-agreement').set?
184
+ BROWSER.execute_script("javascript:void($('#read-agreement').click());")
185
+ end
184
186
  begin
185
- #BROWSER.a(:id=>'submit').click
186
187
  BROWSER.execute_script("javascript:void($('#submit').click());")
188
+ rescue Selenium::WebDriver::Error::UnknownError
189
+ BROWSER.a(:id=>'submit').click
187
190
  rescue Watir::Wait::TimeoutError, Timeout::Error
188
191
  stop_browser(BROWSER)
189
192
  end
@@ -54,7 +54,7 @@ Then /^Abro la lista de deseos$/ do
54
54
  end
55
55
 
56
56
  Then /^Verifico textos y que no se muestren opciones en la lista de deseos$/ do
57
- BROWSER.div(:class,'nibbler-popup-wishlist nibbler-header-popup big').div(:class,'nibbler-common-last-searches nibbler-common-header-favorites-list').should visible("lista de elementos vacio")
57
+ #BROWSER.div(:class,'nibbler-popup-wishlist nibbler-header-popup big').div(:class,'nibbler-common-last-searches nibbler-common-header-favorites-list').should visible("lista de elementos vacio")
58
58
  BROWSER.div(:class,'nibbler-popup-wishlist nibbler-header-popup big').div(:class,'nibbler-common-last-searches nibbler-common-with').should_not visible("lista con deseos")
59
59
  end
60
60
 
@@ -119,7 +119,7 @@ Then /^Me deslogueo como usuario$/ do
119
119
  end
120
120
 
121
121
  Then /^Verifico que no se muestre en el header el usuario logueado$/ do
122
- BROWSER.div(:id,'nibbler-common-header').span(:class,'nibbler-user-icon social-login').should visible("boton de logueo")
122
+ BROWSER.div(:id,'nibbler-common-header').link(:class,'button-login').should visible("boton de logueo")
123
123
  BROWSER.div(:id,'nibbler-common-header').div(:class,'fb-description').should_not visible("usuario logueado")
124
124
  BROWSER.div(:id,'nibbler-common-header').li(:class,'nibbler-common-header-favorites nibbler-user nibbler-common-header-favorites-has').should_not visible("corazon rojo en el header")
125
125
  end
@@ -29,7 +29,11 @@ def set_cookies(browser)
29
29
  end
30
30
 
31
31
  def get_abtesting(abtesting)
32
- return BROWSER.cookies.to_a.select{|cookie| cookie[:name]=="abzTestingId"}.first[:value].split(',').select{|option| option.match(/#{abtesting}/)}.first.gsub(/\D/,'').to_i
32
+ begin
33
+ return BROWSER.cookies.to_a.select{|cookie| cookie[:name]=="abzTestingId"}.first[:value].split(',').select{|option| option.match(/#{abtesting}/)}.first.gsub(/\D/,'').to_i
34
+ rescue NoMethodError
35
+ return 0
36
+ end
33
37
  end
34
38
 
35
39
  def get_cookie(name)
@@ -50,73 +50,27 @@ def validate_cluster_miles(json,type,cluster,i)
50
50
  end
51
51
  end
52
52
 
53
- end
54
-
55
- def validate_cluster_ecoflights(json,type,cluster,i)
56
-
57
- j=0
58
- if type != "multipledestinations"
59
- cluster.div(:class,'itineraries').div(:class,'sub-cluster outbound').ul(:class,'itineraries-group').lis(:class,'item itinerary itinerary-required').each do |route|
60
- if route.li(:class,'ecological').span(:class,'main-sprite icon-eco-flight').present?
61
- json['result']['data']['items'][i]['itinerariesBox']['outboundRoutes'][j]['carbonFootprintInfo']['mostEcological'].should be_true
62
- else
63
- json['result']['data']['items'][i]['itinerariesBox']['outboundRoutes'][j]['carbonFootprintInfo']['mostEcological'].should be_false
64
- end
65
- route.li(:class,'stops').a(:class,'text').click
66
- Watir::Wait.until{BROWSER.div(:class,"flights-popup popup-detail").present?}
67
- json['result']['data']['items'][i]['itinerariesBox']['outboundRoutes'].collect{|outbound| (outbound['carbonFootprintInfo']['relativeWeight'] * 100).to_i}.include?(BROWSER.div(:class,"flights-popup popup-detail").span(:class,'main-sprite icon-full-leaf').style.match(/(\d+)(\.|\%)/)[1].to_i).should be_true
68
- j += 1
69
- cerrar_popup
70
- end
71
- if type == "roundtrip"
72
- k=0
73
- cluster.div(:class,'itineraries').div(:class,'sub-cluster inbound').ul(:class,'itineraries-group').lis(:class,'item itinerary itinerary-required').each do |route|
74
- if route.li(:class,'ecological').span(:class,'main-sprite icon-eco-flight').present?
75
- json['result']['data']['items'][i]['itinerariesBox']['inboundRoutes'][k]['carbonFootprintInfo']['mostEcological'].should be_true
76
- else
77
- json['result']['data']['items'][i]['itinerariesBox']['inboundRoutes'][k]['carbonFootprintInfo']['mostEcological'].should be_false
78
- end
79
- route.li(:class,'stops').a(:class,'text').click
80
- Watir::Wait.until{BROWSER.div(:class,"flights-popup popup-detail").present?}
81
- json['result']['data']['items'][i]['itinerariesBox']['inboundRoutes'].collect{|inbound| (inbound['carbonFootprintInfo']['relativeWeight'] * 100).to_i}.include?(BROWSER.div(:class,"flights-popup popup-detail").span(:class,'main-sprite icon-full-leaf').style.match(/(\d+)(\.|\%)/)[1].to_i).should be_true
82
- k += 1
83
- cerrar_popup
84
- end
85
- end
86
- else
87
- cluster.div(:class,'itineraries').divs(:class,'sub-cluster multiple').each do |route|
88
- if route.li(:class,'ecological').span(:class,'main-sprite icon-eco-flight').present?
89
- json['result']['data']['items'][i]['itinerary']['routes'][j]['carbonFootprintInfo']['mostEcological'].should be_true
90
- else
91
- json['result']['data']['items'][i]['itinerary']['routes'][j]['carbonFootprintInfo']['mostEcological'].should be_false
92
- end
93
- route.li(:class,'stops').a(:class,'text').click
94
- Watir::Wait.until{BROWSER.div(:class,"flights-popup popup-detail").present?}
95
- json['result']['data']['items'][i]['itinerary']['routes'].collect{|aux|(aux['carbonFootprintInfo']['relativeWeight'] * 100).to_i}.include?(BROWSER.div(:class,"flights-popup popup-detail").span(:class,'main-sprite icon-full-leaf').style.match(/(\d+)(\.|\%)/)[1].to_i).should be_true
96
- j += 1
97
- cerrar_popup
98
- end
99
- end
100
-
101
- end
53
+ end
102
54
 
103
55
  def validate_cluster_details(json,type,cluster,i,itinerary)
104
56
  j=0
105
57
  BROWSER.div(:class,'show-and-hide-clusters').link(:class,'toggle-clusters show-clusters').click if BROWSER.div(:class,'show-and-hide-clusters').link(:class,'toggle-clusters show-clusters').present?
106
58
  if type != "multipledestinations"
107
59
  cluster.div(:class,'itineraries').div(:class,'sub-cluster outbound').span(:class,'showMoreItineraries').click if cluster.div(:class,'itineraries').div(:class,'sub-cluster outbound').span(:class,'showMoreItineraries').present?
108
- cluster.div(:class,'itineraries').div(:class,'sub-cluster outbound').ul(:class,'itineraries-group cluster-items-list').lis(:class,/item itinerary cluster-item/).each do |route|
109
- recorrer_segmentos(route,itinerary.idas[j])
60
+ cluster.div(:class,'itineraries').div(:class,'sub-cluster outbound').ul(:class,'itineraries-group cluster-items-list').lis(:class,"item itinerary cluster-item").each do |route|
61
+ cluster_detail = recorrer_segmentos(route,itinerary.idas[j])
110
62
  j += 1
111
63
  cerrar_popup
64
+ validar_clase(cluster_detail,route)
112
65
  end
113
66
  if type == "roundtrip"
114
67
  k=0
115
68
  cluster.div(:class,'itineraries').div(:class,'sub-cluster inbound').span(:class,'showMoreItineraries').click if cluster.div(:class,'itineraries').div(:class,'sub-cluster inbound').span(:class,'showMoreItineraries').present?
116
- cluster.div(:class,'itineraries').div(:class,'sub-cluster inbound').ul(:class,'itineraries-group cluster-items-list').lis(:class,/item itinerary cluster-item/).each do |route|
117
- recorrer_segmentos(route,itinerary.vueltas[k])
69
+ cluster.div(:class,'itineraries').div(:class,'sub-cluster inbound').ul(:class,'itineraries-group cluster-items-list').lis(:class,"item itinerary cluster-item").each do |route|
70
+ cluster_detail = recorrer_segmentos(route,itinerary.vueltas[k])
118
71
  k += 1
119
72
  cerrar_popup
73
+ validar_clase(cluster_detail,route)
120
74
  end
121
75
  end
122
76
  else
@@ -146,6 +100,12 @@ def validate_itins_cluster_details(json,type,cluster,i)
146
100
  end
147
101
  end
148
102
 
103
+ def validar_clase(cluster,route)
104
+ if cluster.tramos.select{|tramo| tramo['bussines'] }.empty?
105
+ route
106
+ end
107
+ end
108
+
149
109
  def recorrer_segmentos(route,cluster)
150
110
  route.li(:class,'stops').a(:class,'text').click
151
111
  Watir::Wait.until{BROWSER.div(:class,"flights-popup popup-detail").present?}
@@ -156,7 +116,8 @@ def recorrer_segmentos(route,cluster)
156
116
  detail.tramos.last['ciudad_destino'].should match(cluster.destino)
157
117
  cluster.fecha.should equal(detail.tramos.first['fecha_origen'])
158
118
  cluster.hou_sal_ida.should equal(detail.tramos.first['hora_origen'])
159
- #reglas_de_vuelo()
119
+ reglas_de_vuelo()
120
+ return detail
160
121
  end
161
122
 
162
123
  def reglas_de_vuelo()
@@ -181,12 +142,13 @@ def validate_cluster_with_headers(type,cluster,i)
181
142
  end
182
143
 
183
144
  def validate_cluster_ancillaries(json,type,cluster,i)
184
- if $SITE=="US"
185
- j=0
186
- if type != "multipledestinations"
187
- cluster.div(:class,'itineraries').div(:class,'sub-cluster outbound').ul(:class,'itineraries-group').lis(:class,'item itinerary cluster-item').each do |route|
188
- json['result']['data']['items'][i]['itinerariesBox']['outboundRoutes'][j]['ancillaryTypes'].each do |amenity|
189
- route.li(:class,'ancillaries').span(:class,"icon-ancillaries icon-ancillaries-#{amenity}").should visible
145
+ j=0
146
+ if type != "multipledestinations"
147
+ cluster.div(:class,'itineraries').div(:class,'sub-cluster outbound').ul(:class,'itineraries-group cluster-items-list').lis(:class,'item itinerary cluster-item').each do |route|
148
+ puts "entra"
149
+ json['result']['data']['items'][i]['itinerariesBox']['outboundRoutes'][j]['ancillaryTypes'].each do |amenity|
150
+ puts "paso d"
151
+ route.li(:class,'ancillaries').span(:class,"icon-ancillaries icon-ancillaries-#{amenity}").should visible
190
152
  # (route.li(:class,'ancillaries').span(:class,"icon-ancillaries icon-ancillaries-#{amenity}")).click
191
153
  # popup = Hpricot.parse(BROWSER.div(:class,'flights-popup popup-ancillary').html)
192
154
  # if amenity == 'INTERNET_ACCESS'
@@ -198,24 +160,27 @@ def validate_cluster_ancillaries(json,type,cluster,i)
198
160
  # popup.div(:class,'popup-header').inner_text.no_accents.strip.should match(/Equipaje por pasajero/)
199
161
  # end
200
162
  # end
163
+ end
164
+ j += 1
165
+ # cerrar_popup
166
+ end
167
+ if type == "roundtrip"
168
+ cluster.div(:class,'itineraries').div(:class,'sub-cluster inbound').ul(:class,'itineraries-group cluster-items-list').lis(:class,'item itinerary cluster-item').each do |route|
169
+ puts "entra c"
170
+ json['result']['data']['items'][i]['itinerariesBox']['inboundRoutes'][j]['ancillaryTypes'].each do |amenity|
171
+ puts "paso"
172
+ route.li(:class,'ancillaries').span(:class,"icon-ancillaries icon-ancillaries-#{amenity}").should visible
201
173
  end
202
174
  j += 1
203
- # cerrar_popup
204
175
  end
205
- if type == "roundtrip"
206
- cluster.div(:class,'itineraries').div(:class,'sub-cluster inbound').ul(:class,'itineraries-group').lis(:class,'item itinerary cluster-item').each do |route|
207
- json['result']['data']['items'][i]['itinerariesBox']['inboundRoutes'][j]['ancillaryTypes'].each do |amenity|
208
- route.li(:class,'ancillaries').span(:class,"icon-ancillaries icon-ancillaries-#{amenity}").should visible
209
- end
210
- j += 1
211
- end
212
- else
213
- cluster.div(:class,'itineraries').div(:class,'sub-cluster multiple').ul(:class,'itineraries-group').lis(:class,'item itinerary cluster-item').each do |route|
214
- json['result']['data']['items'][i]['itinerary']['routes'][j]['ancillaryTypes'].each do |amenity|
215
- route.li(:class,'ancillaries').span(:class,"icon-ancillaries icon-ancillaries-#{amenity}").should visible
216
- end
217
- j += 1
176
+ else
177
+ cluster.div(:class,'itineraries').div(:class,'sub-cluster multiple').ul(:class,'itineraries-group cluster-items-list').lis(:class,'item itinerary cluster-item').each do |route|
178
+ puts "entra"
179
+ json['result']['data']['items'][i]['itinerary']['routes'][j]['ancillaryTypes'].each do |amenity|
180
+ puts "paso a"
181
+ route.li(:class,'ancillaries').span(:class,"icon-ancillaries icon-ancillaries-#{amenity}").should visible
218
182
  end
183
+ j += 1
219
184
  end
220
185
  end
221
186
  end
@@ -10,6 +10,7 @@ Característica: checkout.error_messages
10
10
  Entonces Verifico que traiga resultados
11
11
  Cuando Elijo un itinerario y paso a checkout
12
12
  Cuando Verifico que ingrese al checkout
13
+ Y Verifico las nacionalidades de los pasajeros
13
14
  Y Si pide factura fiscal, Verifico que se muestren los campos de factura
14
15
  Y Si pide factura fiscal, Verifico texto de error de campos de factura vacio
15
16
  Y Si pide factura fiscal, Verifico texto de error de campos de factura con datos erroneos
@@ -61,4 +62,19 @@ Característica: checkout.error_messages
61
62
  @multipledestinations
62
63
  Ejemplos:
63
64
  |pais|tipo|cabotage|
64
- |US |multipledestinations|nil|
65
+ |US |multipledestinations|nil|
66
+ @ve
67
+ @roundtrip
68
+ Ejemplos:
69
+ |pais|tipo|cabotage|
70
+ |VE |roundtrip|nil|
71
+ @ve
72
+ @oneway
73
+ Ejemplos:
74
+ |pais|tipo|cabotage|
75
+ |VE |oneway|nil|
76
+ @ve
77
+ @multipledestinations
78
+ Ejemplos:
79
+ |pais|tipo|cabotage|
80
+ |VE |multipledestinations|nil|
@@ -10,6 +10,7 @@ Característica: checkout.integration
10
10
  Entonces Verifico que traiga resultados
11
11
  Cuando Elijo un itinerario y paso a checkout
12
12
  Cuando Verifico que ingrese al checkout
13
+ Y Verifico que se muestre el banner de cancelacion
13
14
  Y Valido los valores del desglose del checkout
14
15
  Y Verifico el pixel de Efrontier
15
16
  Y Verifico el pixel de trackeame en checkout
@@ -53,3 +53,17 @@ Característica: checkout.low_cost
53
53
  #|US|oneway|nil|VOL|CUN|LAS|
54
54
  #|US|roundtrip|true|VOL|GDL|MEX|
55
55
  #|US|oneway|nil|VOL|LAX|MEX|
56
+ @us
57
+ Ejemplos:
58
+ |pais|tipo|cabotage|prov|from|to|
59
+ |US|roundtrip|true|AIJ|MEX|GDL|
60
+ |US|oneway|true|AIJ|MEX|GDL|
61
+ |US|roundtrip|true|AIJ|MEX|CUN|
62
+ |US|oneway|true|AIJ|MEX|CUN|
63
+ @mx
64
+ Ejemplos:
65
+ |pais|tipo|cabotage|prov|from|to|
66
+ |MX|roundtrip|true|AIJ|MEX|GDL|
67
+ |MX|oneway|true|AIJ|MEX|GDL|
68
+ |MX|roundtrip|true|AIJ|MEX|CUN|
69
+ |MX|oneway|true|AIJ|MEX|CUN|
@@ -25,12 +25,6 @@ Característica: landing.positive
25
25
  Y Verifico que traiga aeropuertos y concuerden con la ciudad buscada
26
26
  Y Verifico que traiga fechas en formato correcto
27
27
  Cuando Elijo un ticket e ingreso a la pagina de resultados
28
- Cuando Verifico la pagina donde ingresa
29
- Cuando Si ingreso resultados, Espero que termine de cargar
30
- Entonces Si ingreso resultados, Verifico que sea la pagina de resultados correcta
31
- Y Si ingreso resultados, Verifico que traiga resultados
32
- Y Si ingreso resultados, Verifico que el valor elejido en landing se encuentre en la lista de resultados
33
- Y Si ingreso checkout, Verifico que ingrese al checkout
34
28
 
35
29
 
36
30
  @ar
@@ -12,6 +12,7 @@ Característica: search.basefare
12
12
  Y Valido el sorting en "<pais>"
13
13
  Y Elijo moneda local en "<pais>"
14
14
  Y Filtro por un itinerario en la matriz en "<pais>"
15
+ Cuando Espero que termine de cargar
15
16
  Entonces Valido la base tarifaria en "<pais>"
16
17
  Y Valido el breakdown en "<pais>"
17
18
 
@@ -17,84 +17,60 @@ Característica: search.orders
17
17
  @ar
18
18
  Ejemplos:
19
19
  |pais|tipo|order|
20
- |AR |roundtrip|STOPSCOUNT_DESCENDING|
21
20
  |AR |roundtrip|STOPSCOUNT_ASCENDING|
22
21
  |AR |oneway|TOTALFARE_ASCENDING|
23
- |AR |multipledestinations|TOTALFARE_DESCENDING|
24
22
  @br
25
23
  Ejemplos:
26
24
  |pais|tipo|order|
27
- |BR |roundtrip|STOPSCOUNT_DESCENDING|
28
25
  |BR |roundtrip|STOPSCOUNT_ASCENDING|
29
26
  |BR |oneway|TOTALFARE_ASCENDING|
30
- |BR |oneway|TOTALFARE_DESCENDING|
31
27
  @cl
32
28
  Ejemplos:
33
29
  |pais|tipo|order|
34
- |CL |roundtrip|STOPSCOUNT_DESCENDING|
35
30
  |CL |roundtrip|STOPSCOUNT_ASCENDING|
36
31
  |CL |oneway|TOTALFARE_ASCENDING|
37
- |CL |multipledestinations|TOTALFARE_DESCENDING|
38
32
  @co
39
33
  Ejemplos:
40
34
  |pais|tipo|order|
41
- |CO |roundtrip|STOPSCOUNT_DESCENDING|
42
35
  |CO |roundtrip|STOPSCOUNT_ASCENDING|
43
36
  |CO |oneway|TOTALFARE_ASCENDING|
44
- |CO |multipledestinations|TOTALFARE_DESCENDING|
45
37
  @cr
46
38
  Ejemplos:
47
39
  |pais|tipo|order|
48
- |CR |roundtrip|STOPSCOUNT_DESCENDING|
49
40
  |CR |roundtrip|STOPSCOUNT_ASCENDING|
50
41
  |CR |oneway|TOTALFARE_ASCENDING|
51
- |CR |multipledestinations|TOTALFARE_DESCENDING|
52
42
  @pa
53
43
  Ejemplos:
54
44
  |pais|tipo|order|
55
- |PA |roundtrip|STOPSCOUNT_DESCENDING|
56
45
  |PA |roundtrip|STOPSCOUNT_ASCENDING|
57
46
  |PA |oneway|TOTALFARE_ASCENDING|
58
- |PA |multipledestinations|TOTALFARE_DESCENDING|
59
47
  @ec
60
48
  Ejemplos:
61
49
  |pais|tipo|order|
62
- |EC |roundtrip|STOPSCOUNT_DESCENDING|
63
50
  |EC |roundtrip|STOPSCOUNT_ASCENDING|
64
51
  |EC |oneway|TOTALFARE_ASCENDING|
65
- |EC |multipledestinations|TOTALFARE_DESCENDING|
66
52
  @mx
67
53
  Ejemplos:
68
54
  |pais|tipo|order|
69
- |MX |roundtrip|STOPSCOUNT_DESCENDING|
70
55
  |MX |roundtrip|STOPSCOUNT_ASCENDING|
71
56
  |MX |oneway|TOTALFARE_ASCENDING|
72
- |MX |multipledestinations|TOTALFARE_DESCENDING|
73
57
  @pe
74
58
  Ejemplos:
75
59
  |pais|tipo|order|
76
- |PE |roundtrip|STOPSCOUNT_DESCENDING|
77
60
  |PE |roundtrip|STOPSCOUNT_ASCENDING|
78
61
  |PE |oneway|TOTALFARE_ASCENDING|
79
- |PE |multipledestinations|TOTALFARE_DESCENDING|
80
62
  @uy
81
63
  Ejemplos:
82
64
  |pais|tipo|order|
83
- |UY |roundtrip|STOPSCOUNT_DESCENDING|
84
65
  |UY |roundtrip|STOPSCOUNT_ASCENDING|
85
66
  |UY |oneway|TOTALFARE_ASCENDING|
86
- |UY |multipledestinations|TOTALFARE_DESCENDING|
87
67
  @us
88
68
  Ejemplos:
89
69
  |pais|tipo|order|
90
- |US |roundtrip|STOPSCOUNT_DESCENDING|
91
70
  |US |roundtrip|STOPSCOUNT_ASCENDING|
92
71
  |US |oneway|TOTALFARE_ASCENDING|
93
- |US |multipledestinations|TOTALFARE_DESCENDING|
94
72
  @ve
95
73
  Ejemplos:
96
74
  |pais|tipo|order|
97
- |VE |roundtrip|STOPSCOUNT_DESCENDING|
98
75
  |VE |roundtrip|STOPSCOUNT_ASCENDING|
99
76
  |VE |oneway|TOTALFARE_ASCENDING|
100
- |VE |multipledestinations|TOTALFARE_DESCENDING|
@@ -9,6 +9,28 @@ Característica: search.searches
9
9
  Entonces Verifico que la pagina no rompa
10
10
  #Cuando Verifico el nuevo loader
11
11
  Cuando Espero que termine de cargar
12
+ Entonces Verifico que traiga resultados
13
+ Cuando Espero que termine de cargar
14
+ Entonces Verifico que traiga resultados
15
+ Cuando Si el site es "AR|BR", Levanto los tag que deben mostrarse segun la ciudad buscada para una busqueda "<tipo>"
16
+ Entonces Si el site es "AR|BR", Verifico que se muestre en el codigo fuente
17
+ Y Verifico si se muestran los beneficios en resultados
18
+ Y Verifico el primer tag de google en resultado de fgui
19
+ Y Verifico el segundo tag de google en resultado de fgui
20
+ Y Verifico el tag de groovinads
21
+ Y Verifico el logger en resultado de fgui
22
+ Y Verifico el tag de canonical
23
+ Y Verifico el tag de remarketing de facebook
24
+ Y Verifico el tag de facebook
25
+ Y Verifico el pixel de e-planning
26
+ Y Verifico que no se muestre la leyenda de mejor precio garantizado en resultados
27
+ Cuando Genero el respond de la busqueda
28
+ Y Verifico que las datos de la pagina sean consistente a la busqueda realizada
29
+ Cuando Elijo un itinerario y paso a checkout
30
+ Cuando Verifico que ingrese al checkout
31
+ Entonces Verifico que la pagina no rompa
32
+ Y Verifico si se muestran los beneficios en checkout
33
+ Y Verifico que se muestren la caja de clientes felices
12
34
 
13
35
  @ar
14
36
  @roundtrip
@@ -15,7 +15,7 @@
15
15
 
16
16
  gem.require_paths = ["lib"] #Usualmente es solo lib -> ["lib"]
17
17
 
18
- gem.version = '2.0.3' #La version se debe incrementar cada vez que se desea publicar una nueva version del test.
18
+ gem.version = '2.0.4' #La version se debe incrementar cada vez que se desea publicar una nueva version del test.
19
19
 
20
20
  gem.add_dependency('henry-container', '>= 0.1.39')
21
21
  gem.add_dependency('watir-webdriver')
data/henry-context.yml CHANGED
@@ -13921,6 +13921,36 @@ tasks:
13921
13921
  recipients:
13922
13922
  - estebanldh@gmail.com
13923
13923
  - nsimean@despegar.com
13924
+ - name: checkout.low_cost.us
13925
+ class_name: Henry::Task::CucumberTask
13926
+ options:
13927
+ tags:
13928
+ - checkout
13929
+ - low_cost
13930
+ - us
13931
+ expand: true
13932
+ no-source: true
13933
+ reports:
13934
+ - format: html
13935
+ name: ${DATE}_${TASK_NAME}.html
13936
+ recipients:
13937
+ - estebanldh@gmail.com
13938
+ - nsimean@despegar.com
13939
+ - name: checkout.low_cost.mx
13940
+ class_name: Henry::Task::CucumberTask
13941
+ options:
13942
+ tags:
13943
+ - checkout
13944
+ - low_cost
13945
+ - mx
13946
+ expand: true
13947
+ no-source: true
13948
+ reports:
13949
+ - format: html
13950
+ name: ${DATE}_${TASK_NAME}.html
13951
+ recipients:
13952
+ - estebanldh@gmail.com
13953
+ - nsimean@despegar.com
13924
13954
  - name: checkout.error_messages
13925
13955
  class_name: Henry::Task::CucumberTask
13926
13956
  options:
@@ -14108,6 +14138,69 @@ tasks:
14108
14138
  recipients:
14109
14139
  - estebanldh@gmail.com
14110
14140
  - nsimean@despegar.com
14141
+ - name: checkout.error_messages.ve
14142
+ class_name: Henry::Task::CucumberTask
14143
+ options:
14144
+ tags:
14145
+ - checkout
14146
+ - error_messages
14147
+ - ve
14148
+ expand: true
14149
+ no-source: true
14150
+ reports:
14151
+ - format: html
14152
+ name: ${DATE}_${TASK_NAME}.html
14153
+ recipients:
14154
+ - estebanldh@gmail.com
14155
+ - nsimean@despegar.com
14156
+ - name: checkout.error_messages.ve.roundtrip
14157
+ class_name: Henry::Task::CucumberTask
14158
+ options:
14159
+ tags:
14160
+ - checkout
14161
+ - error_messages
14162
+ - ve
14163
+ - roundtrip
14164
+ expand: true
14165
+ no-source: true
14166
+ reports:
14167
+ - format: html
14168
+ name: ${DATE}_${TASK_NAME}.html
14169
+ recipients:
14170
+ - estebanldh@gmail.com
14171
+ - nsimean@despegar.com
14172
+ - name: checkout.error_messages.ve.oneway
14173
+ class_name: Henry::Task::CucumberTask
14174
+ options:
14175
+ tags:
14176
+ - checkout
14177
+ - error_messages
14178
+ - ve
14179
+ - oneway
14180
+ expand: true
14181
+ no-source: true
14182
+ reports:
14183
+ - format: html
14184
+ name: ${DATE}_${TASK_NAME}.html
14185
+ recipients:
14186
+ - estebanldh@gmail.com
14187
+ - nsimean@despegar.com
14188
+ - name: checkout.error_messages.ve.multipledestinations
14189
+ class_name: Henry::Task::CucumberTask
14190
+ options:
14191
+ tags:
14192
+ - checkout
14193
+ - error_messages
14194
+ - ve
14195
+ - multipledestinations
14196
+ expand: true
14197
+ no-source: true
14198
+ reports:
14199
+ - format: html
14200
+ name: ${DATE}_${TASK_NAME}.html
14201
+ recipients:
14202
+ - estebanldh@gmail.com
14203
+ - nsimean@despegar.com
14111
14204
  - name: checkout.integration
14112
14205
  class_name: Henry::Task::CucumberTask
14113
14206
  options:
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: flights_gui_henry_tests
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.0.3
4
+ version: 2.0.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - lgonzalez,lsimean
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-01-31 00:00:00.000000000 Z
11
+ date: 2014-02-06 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: henry-container