flights_gui_tests 0.9.1 → 0.9.2

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: 4539cdf22e67bfc5c1a911a736adaa1c2c0474f0
4
- data.tar.gz: d8af815ce48b7cf82402ee1d6db275d44d10e660
3
+ metadata.gz: 4e1f4a48a31a9ccf8be4a3f55b6138b3790e5d8c
4
+ data.tar.gz: 39b5c65b3c5b8773bd471cc29ed5fa8a919c9bb3
5
5
  SHA512:
6
- metadata.gz: 147d5bf11b2bdb927b12f030b74d92f78321a797d0973a779b110e048783065eea7641f3752a8fb9f0aac309e63b8665b92c90e92d38d7bb1da65925b9b25cf9
7
- data.tar.gz: 3608c28ad8c914fdfea1ac546c627ead6a8cd3ea0787ee315c486503506ebf0b87189cb93364083bfe058bdc40834a2a45883b506dd4573116d2e0b57072ed6e
6
+ metadata.gz: ea055bce5fe1ca972f9754e586d325ae6d352dccbae839f829456a71721da7a3a957b869fed6c7d134ad39ff2de064cfe0cd960a239e4f776e890d80da7f4172
7
+ data.tar.gz: 1c7dbca29fd5b706d2f22bf6e15d64720627980a5166cc4fc6c44ea9ad27f79c19adf83e63abca4963109f677fdc620f0ef19836aa02cd071429d41249a983bf
data/Gemfile CHANGED
@@ -1,3 +1,4 @@
1
1
  source :gemcutter
2
2
 
3
+
3
4
  gemspec
@@ -11,6 +11,7 @@ end
11
11
 
12
12
  Cuando(/^elijo una aerolinea a aplicar$/) do
13
13
  doc = Hpricot.parse(@page.html)
14
+ @page.ver_mas_aerolineas_element.click if @page.ver_mas_aerolineas_element.present?
14
15
  options = (doc / 'div.ux-flights-filter-airlines')[0]
15
16
  options = (options/"li.item").select { |option| !(option / "input")[0].attributes['id'].match(/airlines-unique|airlines-all/) and !(option / "input.ux-common-filter-disabled")[0]}
16
17
  @airline = options[rand(options.length)]
@@ -18,7 +19,6 @@ Cuando(/^elijo una aerolinea a aplicar$/) do
18
19
  end
19
20
 
20
21
  Entonces(/^filtro por aerolinea$/) do
21
- @page.ver_mas_aerolineas_element.click if @page.ver_mas_aerolineas_element.present?
22
22
  @page.browser.checkbox(:id, (@airline / 'input').first.attributes['id']).set
23
23
  end
24
24
 
@@ -267,17 +267,19 @@ end
267
267
  Entonces(/^(?:verifico|valido) que la primer pagina muestre correctamente los filtros de precio$/) do
268
268
  sleep(1)
269
269
  doc = Hpricot.parse(@page.html)
270
- @page.reset_itinerarios
271
- @page.cargar_itinerarios
272
- @page.datos_de_itinerarios.each do |itinerario|
273
- if AllPages.site.match("MX|UY|PE|BR|CR|PA")
274
- itinerario.tarifas['tarifa_adulto'].value.should es_mayor_igual_que(@price_down)
275
- itinerario.tarifas['tarifa_adulto'].value.should es_menor_igual_que(@price_up)
276
- else
277
- itinerario.tarifas['total'].value.should es_mayor_igual_que(@price_down)
278
- itinerario.tarifas['total'].value.should es_menor_igual_que(@price_up)
270
+ unless (doc/"div#clusters").first.attributes['style'].match("none")
271
+ @page.reset_itinerarios
272
+ @page.cargar_itinerarios
273
+ @page.datos_de_itinerarios.each do |itinerario|
274
+ if AllPages.site.match("MX|UY|PE|BR|CR|PA")
275
+ itinerario.tarifas['tarifa_adulto'].value.should es_mayor_igual_que(@price_down)
276
+ itinerario.tarifas['tarifa_adulto'].value.should es_menor_igual_que(@price_up)
277
+ else
278
+ itinerario.tarifas['total'].value.should es_mayor_igual_que(@price_down)
279
+ itinerario.tarifas['total'].value.should es_menor_igual_que(@price_up)
280
+ end
279
281
  end
280
- end
282
+ end
281
283
  end
282
284
 
283
285
  Entonces(/^filtro por precio menor$/) do
@@ -13,4 +13,12 @@ class String
13
13
  return self.upcase.strip
14
14
  end
15
15
 
16
+ def to_b
17
+ if self=="true"
18
+ return true
19
+ else
20
+ return false
21
+ end
22
+ end
23
+
16
24
  end
@@ -2,7 +2,7 @@
2
2
  module Browser
3
3
 
4
4
  def self.iniciar(browser)
5
- browser = Watir::Browser.new opcion(browser)
5
+ browser = Watir::Browser.new(browser.downcase.to_sym)
6
6
  maximizar(browser)
7
7
  return browser
8
8
  end
@@ -55,11 +55,11 @@ module Results
55
55
 
56
56
  def reglas_de_vuelo()
57
57
  popup = popup_detail_element
58
- popup.div(:class,'top-box').a(:class,'show-rules').should visible
59
- popup.div(:class,'detail').div(:class,'detail-footer').div(:class,'rules').should_not visible
60
- popup.div(:class,'top-box').a(:class,'show-rules').click
61
- popup.div(:class,'detail').div(:class,'detail-footer').div(:class,'rules').should visible
62
- popup.div(:class,'detail').div(:class,'detail-footer').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/)
58
+ popup.div(:class,'top-box').a(:class,'show-rules').should_not visible
59
+ # popup.div(:class,'detail').div(:class,'detail-footer').div(:class,'rules').should_not visible
60
+ # popup.div(:class,'top-box').a(:class,'show-rules').click
61
+ # popup.div(:class,'detail').div(:class,'detail-footer').div(:class,'rules').should visible
62
+ # popup.div(:class,'detail').div(:class,'detail-footer').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/)
63
63
  end
64
64
 
65
65
  def rutas_ida(itinerario)
@@ -83,21 +83,21 @@ module Results
83
83
  end
84
84
 
85
85
  def new_cerrar_popup(route)
86
- route.li(:class,'detail').links[0].click
86
+ route.li(:class,'detail').span(:class,'itinerary-detail-hide').click
87
87
  sleep(0.5)
88
88
  end
89
89
 
90
90
  def new_reglas_de_vuelo(i)
91
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/)
92
+ popup.div(:class,'top-box').a(:class,'show-rules show-cluster-rules').should_not 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
97
  end
98
98
 
99
99
  def new_recorrer_segmentos(route,cluster,i)
100
- new_cerrar_popup(route)
100
+ route.li(:class,'detail').links[0].click
101
101
  new_popup_detail_elements[i].when_visible(timeout=20)
102
102
  doc = Hpricot.parse(new_popup_detail_elements[i].html)
103
103
  detail = NewDetailsCluster.new(doc)
@@ -11,13 +11,13 @@ Característica: results.basefare
11
11
  Entonces verifico que la pagina no rompa
12
12
  Cuando espero que termine de cargar la pagina de resultados
13
13
  Entonces verifico que traiga resultados
14
- Cuando si el site es "CO", defino cluster a utilizar
14
+ Cuando si el site es "CO|BR", defino cluster a utilizar
15
15
  Cuando si el site es "MX", fuerzo el abztesting de "filters" al "15"
16
- Y si el site es "CO|MX", ingreso una busqueda '<tipo>' del tipo '<cabotage>'
17
- Y si el site es "CO|MX", realizo la busqueda
18
- Cuando si el site es "CO|MX", verifico que la pagina no rompa
19
- Cuando si el site es "CO|MX", espero que termine de cargar la pagina de resultados
20
- Entonces si el site es "CO|MX", verifico que traiga resultados
16
+ Y si el site es "CO|MX|BR", ingreso una busqueda '<tipo>' del tipo '<cabotage>'
17
+ Y si el site es "CO|MX|BR", realizo la busqueda
18
+ Cuando si el site es "CO|MX|BR", verifico que la pagina no rompa
19
+ Cuando si el site es "CO|MX|BR", espero que termine de cargar la pagina de resultados
20
+ Entonces si el site es "CO|MX|BR", verifico que traiga resultados
21
21
  Y verifico los textos de las opciones del combo
22
22
  Y verifico las ociones de ordenamiento
23
23
  Entonces elijo moneda local
@@ -11,14 +11,14 @@ Característica: results.filters
11
11
  Entonces verifico que la pagina no rompa
12
12
  Cuando espero que termine de cargar la pagina de resultados
13
13
  Entonces verifico que traiga resultados
14
- Cuando si el site es "CO", defino cluster a utilizar
14
+ Cuando si el site es "CO|BR", defino cluster a utilizar
15
15
  Cuando si el site es "MX", fuerzo el abztesting de "filters" al "88"
16
16
  Cuando si el site es "MX", fuerzo el abztesting de "breakdown" al "88"
17
- Y si el site es "CO|MX", ingreso una busqueda '<tipo>' del tipo '<cabotage>'
18
- Y si el site es "CO|MX", realizo la busqueda
19
- Cuando si el site es "CO|MX", verifico que la pagina no rompa
20
- Cuando si el site es "CO|MX", espero que termine de cargar la pagina de resultados
21
- Entonces si el site es "CO|MX", verifico que traiga resultados
17
+ Y si el site es "CO|MX|BR", ingreso una busqueda '<tipo>' del tipo '<cabotage>'
18
+ Y si el site es "CO|MX|BR", realizo la busqueda
19
+ Cuando si el site es "CO|MX|BR", verifico que la pagina no rompa
20
+ Cuando si el site es "CO|MX|BR", espero que termine de cargar la pagina de resultados
21
+ Entonces si el site es "CO|MX|BR", verifico que traiga resultados
22
22
  Cuando verifico que el cambio de moneda no muestre limpiar filtros
23
23
  Entonces elijo moneda local
24
24
  Cuando si el site es "PE", elijo moneda local como precio de filtrado
@@ -11,13 +11,13 @@ Característica: results.itineraries
11
11
  Entonces verifico que la pagina no rompa
12
12
  Cuando espero que termine de cargar la pagina de resultados
13
13
  Entonces verifico que traiga resultados
14
- Cuando si el site es "CO", defino cluster a utilizar
14
+ Cuando si el site es "CO|BR", defino cluster a utilizar
15
15
  Cuando si el site es "MX", fuerzo el abztesting de "filters" al "15"
16
- Y si el site es "MX|CO", ingreso una busqueda '<tipo>' del tipo '<cabotage>'
17
- Y si el site es "MX|CO", realizo la busqueda
18
- Cuando si el site es "MX|CO", verifico que la pagina no rompa
19
- Cuando si el site es "MX|CO", espero que termine de cargar la pagina de resultados
20
- Entonces si el site es "MX|CO", verifico que traiga resultados
16
+ Y si el site es "MX|CO|BR", ingreso una busqueda '<tipo>' del tipo '<cabotage>'
17
+ Y si el site es "MX|CO|BR", realizo la busqueda
18
+ Cuando si el site es "MX|CO|BR", verifico que la pagina no rompa
19
+ Cuando si el site es "MX|CO|BR", espero que termine de cargar la pagina de resultados
20
+ Entonces si el site es "MX|CO|BR", verifico que traiga resultados
21
21
  Cuando si el site es "MX|AR", verifico el ordenamiento premium economy
22
22
  Cuando ordeno por "TOTALFARE_ASCENDING"
23
23
  Cuando espero que termine de cargar la pagina de resultados
@@ -52,6 +52,12 @@ Característica: results.recommendation
52
52
  Entonces verifico que la pagina no rompa
53
53
  Cuando espero que termine de cargar la pagina de resultados
54
54
  Entonces verifico que traiga resultados
55
+ Cuando defino cluster a utilizar
56
+ Y ingreso una busqueda '<tipo>' del tipo '<cabotage>'
57
+ Y realizo la busqueda
58
+ Cuando verifico que la pagina no rompa
59
+ Cuando espero que termine de cargar la pagina de resultados
60
+ Entonces verifico que traiga resultados
55
61
  Y cierro popups
56
62
  Cuando hago click en el icono de enviar recomendacion
57
63
  Entonces verifico que cargue el contenido del popup
@@ -12,12 +12,12 @@ Característica: results.search
12
12
  Cuando espero que termine de cargar la pagina de resultados
13
13
  Entonces verifico que traiga resultados
14
14
  Cuando si el site es "PE", fuerzo el abztesting de "showFreeCancelMessage" al "11"
15
- Cuando si el site es "CO", defino cluster a utilizar
16
- * si el site es "CO|PE", ingreso una busqueda '<tipo>' del tipo '<cabotage>'
17
- Cuando si el site es "CO|PE", realizo la busqueda
18
- Entonces si el site es "CO|PE", verifico que la pagina no rompa
19
- Cuando si el site es "CO|PE", espero que termine de cargar la pagina de resultados
20
- Entonces si el site es "CO|PE", verifico que traiga resultados
15
+ Cuando si el site es "CO|BR", defino cluster a utilizar
16
+ * si el site es "CO|PE|BR", ingreso una busqueda '<tipo>' del tipo '<cabotage>'
17
+ Cuando si el site es "CO|PE|BR", realizo la busqueda
18
+ Entonces si el site es "CO|PE|BR", verifico que la pagina no rompa
19
+ Cuando si el site es "CO|PE|BR", espero que termine de cargar la pagina de resultados
20
+ Entonces si el site es "CO|PE|BR", verifico que traiga resultados
21
21
  Cuando si el site es "AR|BR", levanto los tag que deben mostrarse segun la ciudad buscada para una busqueda "<tipo>"
22
22
  Entonces si el site es "AR|BR", verifico que se muestre en el codigo fuente
23
23
  Y si el site es "PE", verifico el banner de cancelacion en el dia en resultados
@@ -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.9.1' # La version se debe incrementar cada vez que se desea publicar una nueva version del test.
17
+ gem.version = '0.9.2' # 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')
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.9.1
4
+ version: 0.9.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - lgonzalez
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-01-06 00:00:00.000000000 Z
11
+ date: 2015-01-12 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: henry-container