flights_gui_henry_tests 2.3.4 → 2.3.5
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +8 -8
- data/features/step_definitions/checkout/checkout_steps.rb +1 -1
- data/features/step_definitions/checkout/error_messages.rb +8 -4
- data/features/step_definitions/orders/orders.rb +8 -1
- data/features/step_definitions/others/flights_tracker_steps.rb +13 -12
- data/features/step_definitions/search/flight_gui_steps.rb +2 -1
- data/features/step_definitions/search/wish_list_steps.rb +2 -1
- data/features/support/lib/clusters/checkout_cluster.rb +2 -2
- data/features/tests/matrix/matrix_airlines.feature +1 -25
- data/features/tests/others/flights_tracker.feature +4 -4
- data/features/tests/search/searches.feature +1 -25
- data/flights_gui_henry_tests.gemspec +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,15 +1,15 @@
|
|
1
1
|
---
|
2
2
|
!binary "U0hBMQ==":
|
3
3
|
metadata.gz: !binary |-
|
4
|
-
|
4
|
+
OWZmOTUzZjY2ZjEzMjVlY2M2ZjRiYThiMjIwZjk3N2M3NjJmOTRjYw==
|
5
5
|
data.tar.gz: !binary |-
|
6
|
-
|
6
|
+
NGY2YTY4MDc2ZTk1OWJmN2ZjNWNlNTIwZDhiYTJlYmY3ODUzNDZhNA==
|
7
7
|
SHA512:
|
8
8
|
metadata.gz: !binary |-
|
9
|
-
|
10
|
-
|
11
|
-
|
9
|
+
M2VjNWI3ZTlkOWE5NTE4OGVmNWY1N2NjNDMyOTNjNWM0ODUxYWU4NzdiNTky
|
10
|
+
MjQ4OGZmZDAzMGI2ZTFkYWFkMjAzOWY2OTExYjdiYTc0YzMwMzM5MWI4N2Vm
|
11
|
+
M2VmYzdkMzc3YzEwMWJiMjdiOGI4YWM3OGQ4ZjMyMzUxOGZkMWI=
|
12
12
|
data.tar.gz: !binary |-
|
13
|
-
|
14
|
-
|
15
|
-
|
13
|
+
MDQzY2M3NmM2NmU3NTI5OWYwMmM0ZDJjNTMzNWZlYTljOTU0MjlmMDQyYjky
|
14
|
+
OTI3YWI5MTU2YzE3YWZlNmQ2ZTQxZDJiMGJkZmI5ZmM1NzBjNmZmOGJmYmQw
|
15
|
+
NTQ0NmI0Y2QwYjEwODVlMWI4ZjM5N2MxNDJlZmZiMDUwYzkwOTQ=
|
@@ -194,7 +194,7 @@ When /^Verifico que se muestre el banner de cancelacion$/ do
|
|
194
194
|
BROWSER.div(:id,'cancellation-advice').should visible("banner de cancelacion")
|
195
195
|
BROWSER.div(:id,'cancellation-advice').div(:class,'ux-common-message-content').p(:index,0).text.strip.should equal("¡Compre tranquilo!")
|
196
196
|
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.")
|
197
|
-
elsif $SITE=="BR" and value <
|
197
|
+
elsif $SITE=="BR" and value < 100 and provider=="GDS"
|
198
198
|
BROWSER.div(:id,'cancellation-advice').should visible("banner de cancelacion")
|
199
199
|
BROWSER.div(:id,'cancellation-advice').div(:class,'ux-common-message-content').p(:index,0).text.strip.should equal("Compre tranquilo! Cancele no mesmo dia sem custo*!")
|
200
200
|
BROWSER.div(:id,'cancellation-advice').div(:class,'ux-common-message-content').p(:index,1).text.no_accents.strip.should equal("* Caso necessite cancelar sua compra, voce podera cancelar sem nenhum custo desde MeuDecolar ate as 20 hrs do mesmo dia da compra.")
|
@@ -55,16 +55,20 @@ end
|
|
55
55
|
When /^Verifico que se desplieguen las alertas de campos con datos invalidos$/ do
|
56
56
|
container = BROWSER.fieldset(:id,'passengers')
|
57
57
|
(@search.adt+@search.cnn+@search.inf).times do |time|
|
58
|
-
container.text_field(:id,"passenger-first-name-#{time}").set("123")
|
59
|
-
container.text_field(:id,"passenger-last-name-#{time}").set("123")
|
58
|
+
container.text_field(:id,"passenger-first-name-#{time}").set("123#{time}")
|
59
|
+
container.text_field(:id,"passenger-last-name-#{time}").set("123#{time}")
|
60
60
|
BROWSER.link(:id,'submit').click
|
61
61
|
container.span(:id,"passenger-first-name-#{time}-invalid_name").should visible
|
62
62
|
container.span(:id,"passenger-last-name-#{time}-invalid_name").should visible
|
63
|
-
container.text_field(:id,"passenger-first-name-#{time}").set("
|
64
|
-
container.text_field(:id,"passenger-last-name-#{time}").set("
|
63
|
+
container.text_field(:id,"passenger-first-name-#{time}").set("@%$$$#{time}")
|
64
|
+
container.text_field(:id,"passenger-last-name-#{time}").set("@%&&&#{time}")
|
65
65
|
BROWSER.link(:id,'submit').click
|
66
|
+
begin
|
66
67
|
container.span(:id,"passenger-first-name-#{time}-invalid_name").should visible
|
67
68
|
container.span(:id,"passenger-last-name-#{time}-invalid_name").should visible
|
69
|
+
rescue RSpec::Expectations::ExpectationNotMetError
|
70
|
+
sleep(200)
|
71
|
+
end
|
68
72
|
end
|
69
73
|
container = BROWSER.fieldset(:id,'payment')
|
70
74
|
container.text_field(:id,'security-code').set("052545454")
|
@@ -4,7 +4,14 @@ Then /^Elijo ordenamiento "(.*)"$/ do |value|
|
|
4
4
|
BROWSER.select_list(:id,'orderby').select_value(value)
|
5
5
|
rescue Timeout::Error
|
6
6
|
stop_browser(BROWSER)
|
7
|
-
|
7
|
+
rescue Watir::Exception::NoValueFoundException
|
8
|
+
puts "Elijo otro ordenamiento"
|
9
|
+
begin
|
10
|
+
BROWSER.select_list(:id,'orderby').select_value("FLIGHTCLASS_ASCENDING")
|
11
|
+
rescue Timeout::Error
|
12
|
+
stop_browser(BROWSER)
|
13
|
+
end
|
14
|
+
end
|
8
15
|
end
|
9
16
|
|
10
17
|
Then /^Levanto los datos de los clusters "(.*)"$/ do |type|
|
@@ -1,9 +1,9 @@
|
|
1
1
|
Then /^Ingreso a la pagina de trackeo de vuelos "(.*)"$/ do |site|
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
BROWSER.div(:class,'flight-tracker-alert').links[0].click
|
2
|
+
set_site(site)
|
3
|
+
@search = MockSearchRoundtrip.new($SITE,$ENV,"nil")
|
4
|
+
puts @search.host + "/flights/tracker/"
|
5
|
+
BROWSER.goto(@search.host + "/flights/tracker/")
|
6
|
+
#BROWSER.div(:class,'flight-tracker-alert').links[0].click
|
7
7
|
end
|
8
8
|
Then /^Espero que termine de cargar la pagina de trackeo de vuelos$/ do
|
9
9
|
Watir::Wait.until(timeout=20){BROWSER.image(:class,'flight-tracker-banner').present?}
|
@@ -24,12 +24,13 @@ Then /^Verifico que se encuentren los elementos de la pagina de trackeo de vuelo
|
|
24
24
|
end
|
25
25
|
Then /^Ingreso aerolinea$/ do
|
26
26
|
@caja = BROWSER.div(:id,'flights-tracker-searchbox')
|
27
|
-
@caja.text_field(:id,'airline').set("
|
27
|
+
@caja.text_field(:id,'airline').set("austral")
|
28
28
|
sleep(0.5)
|
29
29
|
BROWSER.send_keys :enter
|
30
30
|
end
|
31
31
|
Then /^Ingreso numero de vuelo "(.*)"$/ do |nro|
|
32
|
-
@
|
32
|
+
@flight_number = nro
|
33
|
+
@caja.text_field(:id,'flightNumber').set(@flight_number)
|
33
34
|
end
|
34
35
|
Then /^Ingreso fecha de partida "(.*)"$/ do |fecha|
|
35
36
|
@caja.radio(:value,fecha).set()
|
@@ -45,21 +46,21 @@ Then /^Verifico que no encuentre resultados de trackeo$/ do
|
|
45
46
|
BROWSER.div(:id,'results-error').should visible("no se encontraron resultados")
|
46
47
|
end
|
47
48
|
Then /^Verifico que encuentre resultados de trackeo$/ do
|
48
|
-
BROWSER.div(:id,'results-error').should_not visible("se encontraron resultados")
|
49
|
+
BROWSER.div(:id,'results-error').should_not visible("no se encontraron resultados")
|
49
50
|
BROWSER.div(:id,'flight-info').should visible("informacion del vuelo")
|
50
51
|
end
|
51
52
|
Then /^Verifico que los datos de trackeo sean correctos$/ do
|
52
53
|
doc=Hpricot.parse(BROWSER.div(:id,'flight-info').html)
|
53
|
-
(doc/"span.flight-info-number").inner_text.should equal("
|
54
|
-
(doc/"div.airport-info-outbound div.airport-info-description").inner_text.should match('
|
54
|
+
(doc/"span.flight-info-number").inner_text.should equal("AU #{@flight_number}")
|
55
|
+
(doc/"div.airport-info-outbound div.airport-info-description").inner_text.should match('Aeroporto Buenos Aires Ministro Pistarini Ezeiza \(EZE\) \- Buenos Aires|Aeropuerto Buenos Aires Ministro Pistarini Ezeiza \(EZE\) \- Buenos Aires|Buenos Aires Ministro Pistarini Ezeiza Airport \(EZE\) \- Buenos Aires')
|
55
56
|
(doc/"div.airport-info-inbound div.airport-info-description").inner_text.should match('Arturo Merino Benitez Airport \(SCL\) \- Santiago de Chile|Aeropuerto Arturo Merino Benitez \(SCL\) \- Santiago de Chile|Aeroporto Arturo Merino Benitez \(SCL\) \- Santiago')
|
56
|
-
(doc/"span.flight-info-airline-name").inner_text.no_accents.should equal("
|
57
|
+
(doc/"span.flight-info-airline-name").inner_text.no_accents.should equal("Austral")
|
57
58
|
end
|
58
59
|
Then /^Elijo no se el numero de vuelo$/ do
|
59
60
|
BROWSER.checkbox(:id,"no-flight-number-checkbox").set(true)
|
60
61
|
end
|
61
62
|
Then /^Elijo origen$/ do
|
62
|
-
@caja.text_field(:id,'flight-tracker-origin-city').set("
|
63
|
+
@caja.text_field(:id,'flight-tracker-origin-city').set("ezeiza")
|
63
64
|
sleep(0.5)
|
64
65
|
BROWSER.send_keys :enter
|
65
66
|
end
|
@@ -233,8 +233,9 @@ Then /^elijo otro vuelo$/ do
|
|
233
233
|
pending("Se visualizo el popup mas de #{@intentos} veces")
|
234
234
|
end
|
235
235
|
@pop_up = true
|
236
|
-
Watir::Wait.until(timeout = 200){BROWSER.div(:class,'cluster').present? or BROWSER.div(:class,'notification-box warn-box').present?}
|
236
|
+
Watir::Wait.until(timeout = 200){BROWSER.div(:class,'cluster').present? or BROWSER.div(:class,'notification-box warn-box').present? or BROWSER.div(:class,'ux-common-error').present?}
|
237
237
|
BROWSER.div(:class,'notification-box warn-box').should_not visible
|
238
|
+
BROWSER.div(:class,'ux-common-error').should_not visible
|
238
239
|
sleep(1)
|
239
240
|
BROWSER.radio(:id, "0-outbound-0").click if BROWSER.radio(:id, "0-outbound-0").present?
|
240
241
|
BROWSER.radio(:id, "0-inbound-0").click if BROWSER.radio(:id, "0-inbound-0").present?
|
@@ -116,7 +116,8 @@ Then /^Limpio la lista de deseos$/ do
|
|
116
116
|
end
|
117
117
|
|
118
118
|
Then /^Me deslogueo como usuario$/ do
|
119
|
-
BROWSER.div(:id,'nibbler-common-header').link(:class,'social-logged').click if BROWSER.div(:id,'nibbler-common-header').link(:class,'social-logged').present?
|
119
|
+
BROWSER.div(:id,'nibbler-common-header').link(:class,'social-logged').click if BROWSER.div(:id,'nibbler-common-header').link(:class,'social-logged').present?
|
120
|
+
sleep(1)
|
120
121
|
end
|
121
122
|
|
122
123
|
Then /^Verifico que no se muestre en el header el usuario logueado$/ do
|
@@ -25,7 +25,7 @@ class CheckoutCluster
|
|
25
25
|
destino= (div_datos/"span.cities").last.inner_html.to_s.match("(.*)\<span class=\"separator\"\>\<\/span\>(.*)")[2].strip.no_accents
|
26
26
|
origen_iata = (div_datos/"li.outbound a")[0].inner_text.strip
|
27
27
|
destino_iata = (div_datos/"li.inbound a")[-1].inner_text.strip
|
28
|
-
fecha = (div_datos_ida/"li.outbound span.date")[0].inner_text.strip.no_accents
|
28
|
+
fecha = (div_datos_ida/"li.outbound span.date")[0] ? (div_datos_ida/"li.outbound span.date")[0].inner_text.strip.no_accents : (div_datos_ida/"li.inbound span.date")[0].inner_text.strip.no_accents
|
29
29
|
escala = (div_datos/"span.stops a").inner_text.strip.empty? ? "Sin escalas" : (div_datos/"span.stops a").inner_text.to_i
|
30
30
|
aerolinea = Array.new
|
31
31
|
i = 0
|
@@ -48,7 +48,7 @@ class CheckoutCluster
|
|
48
48
|
destino= (div_datos/"span.cities").last.inner_html.to_s.match("(.*)\<span class=\"separator\"\>\<\/span\>(.*)")[2].strip.no_accents
|
49
49
|
origen_iata = (div_datos/"li.outbound a")[0].inner_text.strip
|
50
50
|
destino_iata = (div_datos/"li.inbound a")[-1].inner_text.strip
|
51
|
-
fecha = (div_datos_vuelta/"li.outbound span.date")[0].inner_text.strip.no_accents
|
51
|
+
fecha = (div_datos_vuelta/"li.outbound span.date")[0] ? (div_datos_vuelta/"li.outbound span.date")[0].inner_text.strip.no_accents : (div_datos_vuelta/"li.inbound span.date")[0].inner_text.strip.no_accents
|
52
52
|
escala = (div_datos/"span.stops a").inner_text.strip.empty? ? "Sin escalas" : (div_datos/"span.stops a").inner_text.to_i
|
53
53
|
aerolinea = Array.new
|
54
54
|
i = 0
|
@@ -22,83 +22,59 @@ Característica: matrix.airlines
|
|
22
22
|
Ejemplos:
|
23
23
|
|pais|tipo|cabotage|
|
24
24
|
|AR |roundtrip|nil|
|
25
|
-
|AR |oneway|nil|
|
26
|
-
|AR |roundtrip|true|
|
27
25
|
|AR |oneway|true|
|
28
26
|
@br
|
29
27
|
Ejemplos:
|
30
28
|
|pais|tipo|cabotage|
|
31
|
-
|BR |oneway|true|
|
32
29
|
|BR |roundtrip|true|
|
33
30
|
|BR |oneway|nil|
|
34
|
-
|BR |roundtrip|nil|
|
35
31
|
@co
|
36
32
|
Ejemplos:
|
37
33
|
|pais|tipo|cabotage|
|
38
|
-
|CO |roundtrip|nil|
|
39
34
|
|CO |oneway|nil|
|
40
35
|
|CO |roundtrip|true|
|
41
|
-
|CO |oneway|true|
|
42
36
|
@cl
|
43
37
|
Ejemplos:
|
44
38
|
|pais|tipo|cabotage|
|
45
|
-
|CL |roundtrip|nil|
|
46
39
|
|CL |oneway|nil|
|
47
40
|
|CL |roundtrip|true|
|
48
|
-
|CL |oneway|true|
|
49
41
|
@cr
|
50
42
|
Ejemplos:
|
51
43
|
|pais|tipo|cabotage|
|
52
44
|
|CR |roundtrip|nil|
|
53
|
-
|CR |oneway|nil|
|
54
|
-
|CR |roundtrip|true|
|
55
45
|
|CR |oneway|true|
|
56
46
|
@ec
|
57
47
|
Ejemplos:
|
58
48
|
|pais|tipo|cabotage|
|
59
|
-
|EC |roundtrip|nil|
|
60
49
|
|EC |oneway|nil|
|
61
50
|
|EC |roundtrip|true|
|
62
|
-
|EC |oneway|true|
|
63
51
|
@mx
|
64
52
|
Ejemplos:
|
65
53
|
|pais|tipo|cabotage|
|
66
54
|
|MX |roundtrip|nil|
|
67
|
-
|MX |oneway|nil|
|
68
|
-
|MX |roundtrip|true|
|
69
55
|
|MX |oneway|true|
|
70
56
|
@pa
|
71
57
|
Ejemplos:
|
72
58
|
|pais|tipo|cabotage|
|
73
59
|
|PA |roundtrip|nil|
|
74
|
-
|PA |oneway|nil|
|
75
|
-
|PA |roundtrip|true|
|
76
60
|
|PA |oneway|true|
|
77
61
|
@pe
|
78
62
|
Ejemplos:
|
79
63
|
|pais|tipo|cabotage|
|
80
64
|
|PE |roundtrip|nil|
|
81
65
|
|PE |oneway|nil|
|
82
|
-
|PE |roundtrip|true|
|
83
|
-
|PE |oneway|true|
|
84
66
|
@us
|
85
67
|
Ejemplos:
|
86
68
|
|pais|tipo|cabotage|
|
87
|
-
|US |roundtrip|nil|
|
88
69
|
|US |oneway|nil|
|
89
70
|
|US |roundtrip|true|
|
90
|
-
|US |oneway|true|
|
91
71
|
@uy
|
92
72
|
Ejemplos:
|
93
73
|
|pais|tipo|cabotage|
|
94
|
-
|UY |roundtrip|nil|
|
95
|
-
|UY |oneway|nil|
|
96
74
|
|UY |roundtrip|true|
|
97
75
|
|UY |oneway|true|
|
98
76
|
@ve
|
99
77
|
Ejemplos:
|
100
78
|
|pais|tipo|cabotage|
|
101
|
-
|VE |roundtrip|nil|
|
102
79
|
|VE |oneway|nil|
|
103
|
-
|VE |roundtrip|true|
|
104
|
-
|VE |oneway|true|
|
80
|
+
|VE |roundtrip|true|
|
@@ -5,9 +5,9 @@ Característica: others.flights_tracker
|
|
5
5
|
|
6
6
|
@flights_tracker
|
7
7
|
Esquema del escenario: Ingresar a la pagina de trackeo de vuelos
|
8
|
-
Cuando Ingreso a la home de landing de "<pais>"
|
9
|
-
Entonces Verifico que la pagina no rompa
|
10
|
-
Cuando Espero que termine de cargar la home de landing
|
8
|
+
#Cuando Ingreso a la home de landing de "<pais>"
|
9
|
+
#Entonces Verifico que la pagina no rompa
|
10
|
+
#Cuando Espero que termine de cargar la home de landing
|
11
11
|
Entonces Ingreso a la pagina de trackeo de vuelos "<pais>"
|
12
12
|
Y Espero que termine de cargar la pagina de trackeo de vuelos
|
13
13
|
Y Verifico que se encuentren los elementos de la pagina de trackeo de vuelos
|
@@ -18,7 +18,7 @@ Característica: others.flights_tracker
|
|
18
18
|
Cuando Espero que termine de cargar el vuelo trackeado
|
19
19
|
Entonces Verifico que no encuentre resultados de trackeo
|
20
20
|
Cuando Ingreso aerolinea
|
21
|
-
Y Ingreso numero de vuelo "
|
21
|
+
Y Ingreso numero de vuelo "2280"
|
22
22
|
Y Ingreso fecha de partida "TOMORROW"
|
23
23
|
Y Selecciono buscar
|
24
24
|
Cuando Espero que termine de cargar el vuelo trackeado
|
@@ -7,31 +7,7 @@ Característica: search.searches
|
|
7
7
|
Esquema del escenario: Ingresar a la pagina de resultados
|
8
8
|
Cuando Ingreso a la pagina de resultados en "<pais>" para una busqueda "<tipo>" del tipo "<cabotage>"
|
9
9
|
Entonces Verifico que la pagina no rompa
|
10
|
-
|
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 Mostrar devtools
|
34
|
-
#Y Verifico que se muestren la caja de clientes felices
|
10
|
+
Cuando Verifico el nuevo loader
|
35
11
|
|
36
12
|
@ar
|
37
13
|
@roundtrip
|
@@ -15,7 +15,7 @@
|
|
15
15
|
|
16
16
|
gem.require_paths = ["lib"] #Usualmente es solo lib -> ["lib"]
|
17
17
|
|
18
|
-
gem.version = '2.3.
|
18
|
+
gem.version = '2.3.5' #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')
|
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.3.
|
4
|
+
version: 2.3.5
|
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-04-
|
11
|
+
date: 2014-04-28 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: henry-container
|