flights_gui_henry_tests 2.0.3 → 2.0.4

Sign up to get free protection for your applications and to get access to all the features.
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