flights_gui_tests 1.0.6 → 1.0.8
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/features/step_definitions/checkout/braspag_steps.rb +8 -0
- data/features/step_definitions/checkout/compra_duplicada_steps.rb +1 -5
- data/features/step_definitions/checkout/error_messages_steps.rb +2 -2
- data/features/step_definitions/checkout/fast_checkout_steps.rb +1 -1
- data/features/step_definitions/checkout/load_steps.rb +4 -20
- data/features/step_definitions/checkout/upselling_steps.rb +3 -3
- data/features/step_definitions/checkout/verifications_steps.rb +2 -2
- data/features/step_definitions/devtools_steps.rb +1 -1
- data/features/step_definitions/results/recommendation_steps.rb +1 -1
- data/features/step_definitions/results/results_steps.rb +1 -1
- data/features/step_definitions/results/wish_list_steps.rb +7 -7
- data/features/step_definitions/thanks/thanks_steps.rb +1 -1
- data/features/support/classes/checkout/new_cluster.rb +1 -3
- data/features/support/classes/checkout/old_cluster.rb +1 -1
- data/features/support/classes/results/new_cluster.rb +1 -7
- data/features/support/classes/results/old_cluster.rb +4 -5
- data/features/support/env.rb +0 -1
- data/features/support/modules/checkout/new_checkout/popup.rb +1 -1
- data/features/support/modules/checkout/new_checkout/tarjeta.rb +13 -1
- data/features/support/pages/checkout/checkout_page/new_checkout_page.rb +1 -1
- data/features/support/version.rb +3 -0
- data/features/tests/checkout/braspag.feature +30 -0
- data/features/tests/checkout/providers.feature +0 -1
- data/flights_gui_tests.gemspec +6 -5
- data/henry-context.yml +29 -0
- metadata +8 -19
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: dd2586b8fb3c2fe3ee2482f7bd0059fbba31c81a
|
4
|
+
data.tar.gz: 3c746b8d6513c839031fb01d342a28fd39dea68f
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: f08da4dcbe158f53a4f399ac0c3b13f2ffbac95200c9eea6e55eb015144d9d23579897f32fe8a452f9b5009c8820612f7392511a092117a326fbee1b9c6dc5ff
|
7
|
+
data.tar.gz: bf3d4cec1df39fda455f728d673e01bec841b5bd83fd4c81005879f78ccbf95b83119c5bd1dd1108d172e84dc08e8c359b9e10d481da31b41d5ecd7189f7c213
|
@@ -0,0 +1,8 @@
|
|
1
|
+
# -*- encoding : utf-8 -*-
|
2
|
+
Y(/^cargo los datos para pago debito braspag$/) do
|
3
|
+
@page.cargar_datos_braspag
|
4
|
+
end
|
5
|
+
|
6
|
+
Entonces(/^verifico que redirija a la pagina de visa braspag$/) do
|
7
|
+
Watir::Wait.until(timeout=120){@page.url == "https://www.pagador.com.br/post/pagador/passthru.asp"}
|
8
|
+
end
|
@@ -5,11 +5,7 @@ Entonces(/^vuelvo a la pagina de resultados original$/) do
|
|
5
5
|
end
|
6
6
|
|
7
7
|
Cuando(/^(?:verifico|valido) que se muestre el popup de compra duplicada$/) do
|
8
|
-
|
9
|
-
@page = Checkout::NewCheckoutPage.new($browser)
|
10
|
-
else
|
11
|
-
@page = Checkout::OldCheckoutPage.new($browser)
|
12
|
-
end
|
8
|
+
@page = Checkout::NewCheckoutPage.new($browser)
|
13
9
|
@page.popup_compra_duplicada_element.when_visible(timeout=60)
|
14
10
|
@page.popup_compra_duplicada_element.should visible("popup de compras duplicadas")
|
15
11
|
@page.opcion_si_compra_duplicada_element.should visible("boton yes")
|
@@ -1,6 +1,6 @@
|
|
1
1
|
# -*- encoding : utf-8 -*-
|
2
2
|
Entonces(/^(?:verifico|valido) las nacionalidades de los pasajeros$/) do
|
3
|
-
@page.
|
3
|
+
@page.execute_script("javascript:void($('.other-passenger-inputs').css('display','block'));")
|
4
4
|
if AllPages.site=~/AR|VE/
|
5
5
|
@page.nombre_elements[0].focus
|
6
6
|
@page.nacionalidad_elements[0].select_value(AllPages.site)
|
@@ -114,7 +114,7 @@ end
|
|
114
114
|
Entonces(/^(?:verifico|valido) que sean visibles los campos obligatorios$/) do
|
115
115
|
index = 0
|
116
116
|
index_menores = 0
|
117
|
-
@page.
|
117
|
+
@page.execute_script("javascript:void($('.other-passenger-inputs').css('display','block'));")
|
118
118
|
@page.manage_data.adt.times do |adulto|
|
119
119
|
@page.nombre_elements[index].should be_true
|
120
120
|
@page.apellido_elements[index].should be_true
|
@@ -19,7 +19,7 @@ end
|
|
19
19
|
|
20
20
|
Entonces(/^(?:verifico|valido) que se muestren las tarjetas guardadas$/) do
|
21
21
|
@page.tarjetas_guardadas_element.should visible("store de tarjetas guardadas")
|
22
|
-
@page.
|
22
|
+
@page.execute_script("javascript:void($('#stored-cards .display-cards').click())") if @page.mostrar_cartas_guardadas_element.text.no_accents.downcase.match("mas|mais|more")
|
23
23
|
sleep(1)
|
24
24
|
index = 0
|
25
25
|
@page.container_tarjetas_elements.each do |ul|
|
@@ -1,11 +1,6 @@
|
|
1
1
|
# encoding: utf-8
|
2
|
-
Cuando(/^ingreso a la pagina de checkout de agencia para una busqueda '(.*?)' del tipo '(.*?)'$/) do |tipo, cabotaje|
|
3
|
-
@
|
4
|
-
if @nuevo_checkout
|
5
|
-
@page = Checkout::NewCheckoutPage.new($browser)
|
6
|
-
else
|
7
|
-
@page = Checkout::OldCheckoutPage.new($browser)
|
8
|
-
end
|
2
|
+
Cuando(/^ingreso a la pagina de checkout de agencia para una busqueda '(.*?)' del tipo '(.*?)'$/) do |tipo, cabotaje|
|
3
|
+
@page = Checkout::NewCheckoutPage.new($browser)
|
9
4
|
@page.cargar_url(tipo,$ENV,cabotaje)
|
10
5
|
begin
|
11
6
|
@page.url_busqueda
|
@@ -16,12 +11,7 @@ Cuando(/^ingreso a la pagina de checkout de agencia para una busqueda '(.*?)' de
|
|
16
11
|
end
|
17
12
|
|
18
13
|
Cuando(/^ingreso a un checkout directo para una busqueda '(.*?)' del tipo '(.*?)'$/) do |tipo, cabotaje|
|
19
|
-
@
|
20
|
-
if @nuevo_checkout
|
21
|
-
@page = Checkout::NewCheckoutPage.new($browser)
|
22
|
-
else
|
23
|
-
@page = Checkout::OldCheckoutPage.new($browser)
|
24
|
-
end
|
14
|
+
@page = Checkout::NewCheckoutPage.new($browser)
|
25
15
|
@page.cargar_url(tipo,$ENV,cabotaje)
|
26
16
|
begin
|
27
17
|
@page.url_busqueda
|
@@ -32,12 +22,7 @@ Cuando(/^ingreso a un checkout directo para una busqueda '(.*?)' del tipo '(.*?)
|
|
32
22
|
end
|
33
23
|
|
34
24
|
Cuando(/^espero que termine de cargar la pagina de checkout$/) do
|
35
|
-
@
|
36
|
-
if @nuevo_checkout
|
37
|
-
@page = Checkout::NewCheckoutPage.new($browser)
|
38
|
-
else
|
39
|
-
@page = Checkout::OldCheckoutPage.new($browser)
|
40
|
-
end
|
25
|
+
@page = Checkout::NewCheckoutPage.new($browser)
|
41
26
|
@page.popup_transicion_inicial_element.when_not_visible(timeout=120)
|
42
27
|
@page.pasajeros_element.when_visible(timeout=120)
|
43
28
|
puts "URL: #{@page.browser.url}"
|
@@ -106,7 +91,6 @@ Cuando(/^seteo el checkout a ingresar$/) do
|
|
106
91
|
step "espero que termine de cargar la pagina de resultados"
|
107
92
|
step "elijo un itinerario y paso a checkout"
|
108
93
|
step "verifico que la pagina no rompa"
|
109
|
-
@nuevo_checkout = ($HENRY_PARAMS['checkout'].to_i > 49) ? false : true
|
110
94
|
step "espero que termine de cargar la pagina de checkout"
|
111
95
|
step "verifico que ingrese al checkout"
|
112
96
|
end
|
@@ -26,9 +26,9 @@ end
|
|
26
26
|
|
27
27
|
Entonces(/^(?:verifico|valido) que el precio del seguro se muestre correctamente en el desglose$/) do
|
28
28
|
@page.precio_seguro_desglose_element.should visible
|
29
|
-
price_detail=@page.precio_seguro_desglose_element.span(:class,'amount').text
|
30
|
-
price_assistance=@page.precio_seguro_element.text.gsub(/\./,'')
|
31
|
-
price_detail.
|
29
|
+
price_detail=@page.precio_seguro_desglose_element.span(:class,'amount').text.gsub(/\./,'')
|
30
|
+
price_assistance=@page.precio_seguro_element.text.gsub(/\./,'')
|
31
|
+
price_detail.to_i.should be_within(5).of(price_assistance.to_i*(@page.manage_data.adt+@page.manage_data.cnn+@page.manage_data.inf)) unless AllPages.site == "AR"
|
32
32
|
end
|
33
33
|
|
34
34
|
Cuando(/^muestro el popup de la cobertura completa$/) do
|
@@ -1,7 +1,7 @@
|
|
1
1
|
# -*- encoding : utf-8 -*-
|
2
2
|
Entonces(/^(?:verifico|valido) los valores del desglose del checkout$/) do
|
3
3
|
@itinerario_checkout = @page.datos_itinerario
|
4
|
-
@itinerario_checkout.
|
4
|
+
@itinerario_checkout.validar_suma_desgloce.should be_within(4).of(@itinerario_checkout.tarifas['total'].value)
|
5
5
|
unless @itinerario_checkout.tarifas['adt'].valor.zero?
|
6
6
|
@itinerario_checkout.tarifas['adt'].valor.should be_within(4).of(@itinerario_checkout.tarifas['tarifa_adulto'].valor * @page.manage_data.adt)
|
7
7
|
end
|
@@ -48,7 +48,7 @@ Cuando(/^(?:verifico|valido) que los precios de las formas de pago nueva se mues
|
|
48
48
|
end
|
49
49
|
|
50
50
|
Y(/^(?:verifico|valido) que no se muestre la opcion de reserva CAC en BR$/) do
|
51
|
-
@page.
|
51
|
+
@page.execute_script("javascript:void(function(){ShowButtonCAC();})();")
|
52
52
|
begin
|
53
53
|
Watir::Wait.until(timeout=10){@page.browser.alert.exists?}
|
54
54
|
rescue Watir::Wait::TimeoutError
|
@@ -1,7 +1,7 @@
|
|
1
1
|
# encoding: utf-8
|
2
2
|
Cuando(/^mostrar devtools$/) do
|
3
3
|
unless @page.tab_devtools_element.present?
|
4
|
-
@page.
|
4
|
+
@page.execute_script("javascript:(function(){mcReqJs.load({'projectId': 'flights','modules': ['core-flights/devtools'],'callback':function(devtools){devtools.init();}});})();")
|
5
5
|
else
|
6
6
|
sleep(0.5)
|
7
7
|
@page.tab_devtools_element.click
|
@@ -26,7 +26,7 @@ end
|
|
26
26
|
|
27
27
|
Cuando(/^hago click en el boton de enviar$/) do
|
28
28
|
sleep(1)
|
29
|
-
@page.
|
29
|
+
@page.execute_script("javascript:void($('#popup-email .flights-send-button').click());")
|
30
30
|
sleep(2)
|
31
31
|
end
|
32
32
|
|
@@ -56,7 +56,7 @@ Y(/^(?:verifico|valido) el popup de alertas$/) do
|
|
56
56
|
@page.boton_alertas_element.click
|
57
57
|
@page.popup_alertas_element.when_visible(timeout=20)
|
58
58
|
@page.popup_alertas_element.should visible
|
59
|
-
@page.
|
59
|
+
@page.execute_script("javascript:void($('#nibbler-subscriptions .nibbler-common-overlay-close').click());")
|
60
60
|
sleep(1)
|
61
61
|
end
|
62
62
|
end
|
@@ -38,20 +38,20 @@ end
|
|
38
38
|
|
39
39
|
Cuando(/^me logueo con usuario "(.*?)" y pass "(.*?)"$/) do |arg1, arg2|
|
40
40
|
@page.login_usuario_nibbler_element.when_visible(timeout=20)
|
41
|
-
@page.
|
42
|
-
@page.
|
41
|
+
@page.execute_script("javascript:void($(\"input#signin-email\").val('#{arg1}'))\;")
|
42
|
+
@page.execute_script("javascript:void($(\".nibbler-selfservice-label-pass input\").val('#{arg2}'))\;")
|
43
43
|
@page.boton_usuario_nibbler_element.click
|
44
44
|
sleep(1)
|
45
45
|
end
|
46
46
|
|
47
47
|
Cuando(/^limpio la lista de deseos$/) do
|
48
48
|
sleep(1)
|
49
|
-
@page.
|
49
|
+
@page.execute_script("javascript:void($('.nibbler-common-last-searches-footer-clear-all').click());")
|
50
50
|
sleep(2)
|
51
51
|
end
|
52
52
|
|
53
53
|
Cuando(/^cierro la lista de deseos$/) do
|
54
|
-
@page.
|
54
|
+
@page.execute_script("javascript:void($('.nibbler-common-overlay-close').click())")
|
55
55
|
sleep(1)
|
56
56
|
end
|
57
57
|
|
@@ -84,7 +84,7 @@ end
|
|
84
84
|
|
85
85
|
Cuando(/^elijo el itinerario de la lista de deseos$/) do
|
86
86
|
@url = @page.url
|
87
|
-
@page.
|
87
|
+
@page.execute_script("javascript:void($('.nibbler-common-header-favorites-popup .nibbler-common-last-searches-body-content-title').click())")
|
88
88
|
end
|
89
89
|
|
90
90
|
Entonces(/^verifico que dirija correctamente a la pagina de resultados$/) do
|
@@ -103,9 +103,9 @@ end
|
|
103
103
|
|
104
104
|
Cuando(/^elimino el itinerario de la lista de deseos$/) do
|
105
105
|
sleep(1)
|
106
|
-
@page.
|
106
|
+
@page.execute_script("javascript:void($('.nibbler-common-last-searches-footer-clear-all').click());")
|
107
107
|
sleep(2)
|
108
|
-
@page.
|
108
|
+
@page.execute_script("javascript:void($('.nibbler-common-last-searches-footer-clear-all').click());")
|
109
109
|
sleep(2)
|
110
110
|
end
|
111
111
|
|
@@ -13,7 +13,7 @@ Entonces(/^(?:verifico|valido) el link de mi despegar$/) do
|
|
13
13
|
end
|
14
14
|
|
15
15
|
Y(/^(?:verifico|valido) los valores del desglose en gracias contra los del checkout/) do
|
16
|
-
@itinerario_gracias.
|
16
|
+
@itinerario_gracias.validar_suma_desgloce.should be_within(4).of(@itinerario_gracias.tarifas['total'].value)
|
17
17
|
unless @itinerario_gracias.tarifas['adt'].valor.zero? or @itinerario_gracias.tarifas['tarifa_adulto'].nil?
|
18
18
|
@itinerario_gracias.tarifas['adt'].valor.should equal(@itinerario_gracias.tarifas['tarifa_adulto'].valor * @page.manage_data.adt)
|
19
19
|
end
|
@@ -67,7 +67,7 @@ module NewCheckout
|
|
67
67
|
@tarifas['tasas'] = (html/"li.taxes").first ? Price.new((html/"li.taxes span.price-currency").first.inner_text.strip) : Price.new("$ 0",true)
|
68
68
|
@tarifas['cargos'] = (html/"li.charges").first ? Price.new((html/"li.charges span.price-currency").first.inner_text.strip) : Price.new("$ 0",true)
|
69
69
|
@tarifas['afip'] = (html/"li.tax_afip").first ? Price.new((html/"li.tax_afip span.price-currency").first.inner_text.strip) : Price.new("$ 0",true)
|
70
|
-
@tarifas['encargos'] = (html/"li.
|
70
|
+
@tarifas['encargos'] = (html/"li.service_taxes").first ? Price.new((html/"li.service_taxes span.price-currency").first.inner_text.strip) : Price.new("$ 0",true)
|
71
71
|
@tarifas['total'] = (html/"li.total span.price-currency").first ? Price.new((html/"li.total span.price-currency").first.inner_text.strip) : Price.new("$ 0",true)
|
72
72
|
end
|
73
73
|
|
@@ -81,8 +81,6 @@ module NewCheckout
|
|
81
81
|
return sumaTarifas.to_i
|
82
82
|
end
|
83
83
|
|
84
|
-
alias :validarSumaDesgloce :validar_suma_desgloce
|
85
|
-
|
86
84
|
def escala_to_i(escala)
|
87
85
|
return 0 if escala.to_s =~ /(solo vuelo directo)|(Sin escalas)|(Sem escalas)|(Soamente v.o directo)|(Vuelo Directo)/i
|
88
86
|
return escala.to_s.gsub(/\D/,'').to_i
|
@@ -98,7 +98,7 @@ module OldCheckout
|
|
98
98
|
@tarifas['total'] = (p_html/"li.#{campo} span.currency").empty? ? Price.new("$ 0",true) : Price.new((p_html/"li.#{campo} span.currency").first.inner_text.strip + " " + (p_html/"li.#{campo} span.amount").first.inner_text.strip)
|
99
99
|
end
|
100
100
|
|
101
|
-
def
|
101
|
+
def validar_suma_desgloce(linea = "total|tarifa_adulto|tarifa_adulto_dolar")
|
102
102
|
|
103
103
|
sumaTarifas = 0
|
104
104
|
@tarifas.each_pair do |key,tarifa|
|
@@ -83,15 +83,11 @@ module Results
|
|
83
83
|
|
84
84
|
end
|
85
85
|
|
86
|
-
def
|
86
|
+
def validar_ecuacion_tarifas_por_cantidad_de_pasajeros(cant)
|
87
87
|
unless @tarifas['adt'].valor.zero?
|
88
88
|
(@tarifas['adt'].valor == @tarifas['tarifa_adulto'].valor * cant).should be_true
|
89
89
|
end
|
90
90
|
end
|
91
|
-
|
92
|
-
def validarResolucionAFIP
|
93
|
-
(@tarifas['total'] * 20 / 100).truncate + 1 == @tarifas['afip']
|
94
|
-
end
|
95
91
|
|
96
92
|
def total_escalas()
|
97
93
|
vueltas = @vueltas ? @vueltas.collect{|vuelta| vuelta.escalas} : []
|
@@ -108,8 +104,6 @@ module Results
|
|
108
104
|
return sumaTarifas.to_i
|
109
105
|
end
|
110
106
|
|
111
|
-
alias :validarSumaDesgloce :validar_suma_desgloce
|
112
|
-
|
113
107
|
def escala_to_i(escala)
|
114
108
|
return 0 if escala.to_s =~ /(solo vuelo directo)|(Sin escalas)|(Sem escalas)|(Soamente v.o directo)|(Vuelo Directo)|(Directo)/i
|
115
109
|
return escala.to_s.gsub(/\D/,'').to_i
|
@@ -110,7 +110,7 @@ module Results
|
|
110
110
|
@tarifas['total'] = (p_html/"li.#{campo}-price span.currency").empty? ? Price.new("$ 0",true) : Price.new((p_html/"li.#{campo}-price span.currency").first.inner_text.strip + " " + (p_html/"li.#{campo}-price span.amount").first.inner_text.strip)
|
111
111
|
end
|
112
112
|
|
113
|
-
def
|
113
|
+
def validar_suma_desgloce(linea = "total|tarifa_adulto")
|
114
114
|
|
115
115
|
sumaTarifas = 0
|
116
116
|
@tarifas.each_pair do |key,tarifa|
|
@@ -127,14 +127,13 @@ module Results
|
|
127
127
|
end
|
128
128
|
|
129
129
|
end
|
130
|
-
|
130
|
+
|
131
|
+
def validar_ecuacion_tarifas_por_cantidad_de_pasajeros(cant)
|
131
132
|
unless @tarifas['adt'].valor.zero?
|
132
133
|
(@tarifas['adt'].valor == @tarifas['tarifa_adulto'].valor * cant).should be_true
|
133
134
|
end
|
134
135
|
end
|
135
|
-
|
136
|
-
(@tarifas['total'] * 20 / 100).truncate + 1 == @tarifas['afip']
|
137
|
-
end
|
136
|
+
|
138
137
|
def total_escalas()
|
139
138
|
vueltas = @vueltas ? @vueltas.collect{|vuelta| vuelta.escalas} : []
|
140
139
|
(vueltas + @idas.collect{|vuelta| vuelta.escalas}).sort
|
data/features/support/env.rb
CHANGED
@@ -4,7 +4,7 @@ module NewCheckout
|
|
4
4
|
include PageObject
|
5
5
|
|
6
6
|
div(:popup_transicion_inicial,:id=>"popup-initial-transition")
|
7
|
-
div(:popup_transicion_compra,:id=>"popup-checkout-transition
|
7
|
+
div(:popup_transicion_compra,:id=>"popup-checkout-transition")
|
8
8
|
div(:popup_nuevo_precio,:id=>"popup-price-difference-template")
|
9
9
|
div(:popup_nuevo_vuelo,:id=>"popup-new-flight")
|
10
10
|
div(:popup_confirmacion_pago,:id=>"confirm-payment-popup")
|
@@ -11,6 +11,8 @@ module NewCheckout
|
|
11
11
|
select_list(:sexo_titular_tarjeta,:id=>"owner-gender")
|
12
12
|
select_list(:estado_entrega_tarjeta,:id=>"billing-address-state")
|
13
13
|
select_list(:sexo_offline,:id=>"offline-owner-gender")
|
14
|
+
select_list(:opciones_debito,:id=>"external-debit-card")
|
15
|
+
select_list(:opciones_bancos_debito,:id=>"external-debit-bank")
|
14
16
|
|
15
17
|
text_field(:cp_entrega_tarjeta,:id=>"billing-address-postal-code")
|
16
18
|
text_field(:piso_entrega_tarjeta,:id=>"billing-address-floor")
|
@@ -21,7 +23,9 @@ module NewCheckout
|
|
21
23
|
text_field(:numero_tarjeta,:id=>"card-number")
|
22
24
|
text_field(:codigo_seguridad_tarjeta,:id=>"security-code")
|
23
25
|
text_field(:nombre_titular_tarjeta,:id=>"owner-name")
|
26
|
+
text_field(:nombre_titular_tarjeta_debito,:css=>"#externalDebitDefinition #owner-name")
|
24
27
|
text_field(:documento_titular_tarjeta,:id=>"owner-document-number")
|
28
|
+
text_field(:documento_titular_tarjeta_debito,:css=>"#externalDebitDefinition #owner-document-number")
|
25
29
|
text_field(:banco_emisor,:id=>"other-bank-name")
|
26
30
|
text_field(:documento_offline,:id=>"offline-owner-document-number")
|
27
31
|
text_field(:nombre_completo_contacto,:id=>"contact-contact-full-name")
|
@@ -43,7 +47,7 @@ module NewCheckout
|
|
43
47
|
radio_button(:pago_online_pe,:css=>"#multiple-card-homebanking-installment .main-radio")
|
44
48
|
radio_button(:opcion_cac,:css=>"#cac-installment .main-radio")
|
45
49
|
radio_button(:pago_con_intereses,:class=>"radio main-radio radio-with-interest")
|
46
|
-
|
50
|
+
radio_button(:opcion_braspag,:css=>"#extdebit-installment .main-radio")
|
47
51
|
|
48
52
|
elements(:tipos_de_pago,:radio,:css=>"#paymentDefinition input.radio")
|
49
53
|
|
@@ -279,5 +283,13 @@ module NewCheckout
|
|
279
283
|
eval "pago_online_#{AllPages.site.downcase}_element"
|
280
284
|
end
|
281
285
|
|
286
|
+
def cargar_datos_braspag
|
287
|
+
opcion_braspag_element.click
|
288
|
+
opciones_debito_element.select("Visa Electron")
|
289
|
+
opciones_bancos_debito_element.select("Banco Santander S.A.")
|
290
|
+
nombre_titular_tarjeta_debito_element.set("Martin qa diez")
|
291
|
+
documento_titular_tarjeta_debito_element.set("22233366638")
|
292
|
+
end
|
293
|
+
|
282
294
|
end
|
283
295
|
end
|
@@ -44,7 +44,7 @@ module Checkout
|
|
44
44
|
span(:elegir_otro_vuelo,:class=>"choose-another")
|
45
45
|
span(:error_datos,:class=>"error-message")
|
46
46
|
span(:carga,:css=>".loading .img")
|
47
|
-
span(:precio_seguro,:css=>"#upselling .col7 .details-title")
|
47
|
+
span(:precio_seguro,:css=>"#upselling .col7 .details-title .amount")
|
48
48
|
|
49
49
|
text_field(:cupon_email,:id=>"voucher-email")
|
50
50
|
text_field(:cupon_voucher,:id=>"voucher-code-0")
|
@@ -0,0 +1,30 @@
|
|
1
|
+
#language: es
|
2
|
+
@checkout
|
3
|
+
Característica: checkout.braspag
|
4
|
+
Se realiza una compra con opcion debito en decolar, se verifica que redirija al sitio externo de visa.
|
5
|
+
|
6
|
+
@braspag
|
7
|
+
Esquema del escenario: Se verifica que se pueda realizar un redirect correcto a la pagina de visa debito cuando se elije opcion braspag
|
8
|
+
Dado como un usuario de '<pais>'
|
9
|
+
* ingreso una busqueda '<tipo>' del tipo '<cabotage>'
|
10
|
+
Cuando realizo la busqueda
|
11
|
+
Entonces verifico que la pagina no rompa
|
12
|
+
Cuando espero que termine de cargar la pagina de resultados
|
13
|
+
Entonces verifico que traiga resultados
|
14
|
+
Cuando elijo un itinerario y paso a checkout
|
15
|
+
Cuando espero que termine de cargar la pagina de checkout
|
16
|
+
Entonces verifico que ingrese al checkout
|
17
|
+
Y verifico que la pagina no rompa
|
18
|
+
Cuando ingreso al checkout con cookie "showDebitCardPayment" al "25"
|
19
|
+
Entonces cargo los pasajeros
|
20
|
+
Y cargo los datos para pago debito braspag
|
21
|
+
Y cargo los datos de facturacion
|
22
|
+
Y cargo los datos de contacto
|
23
|
+
Cuando acepto y compro
|
24
|
+
Entonces verifico que redirija a la pagina de visa braspag
|
25
|
+
|
26
|
+
@br
|
27
|
+
Ejemplos:
|
28
|
+
|pais|tipo|cabotage|
|
29
|
+
|BR |roundtrip|true|
|
30
|
+
|BR |oneway|true|
|
@@ -19,7 +19,6 @@ Característica: checkout.providers
|
|
19
19
|
Entonces verifico que la pagina no rompa
|
20
20
|
Y espero que termine de cargar la pagina de checkout
|
21
21
|
Y verifico que ingrese al checkout
|
22
|
-
Cuando si el site es "BR", ingreso al checkout con cookie "showNewPaymentType" al "85"
|
23
22
|
Y valido los valores del desglose del checkout
|
24
23
|
Y verifico el pixel de Efrontier
|
25
24
|
Y verifico el pixel de trackeame en checkout
|
data/flights_gui_tests.gemspec
CHANGED
@@ -1,9 +1,11 @@
|
|
1
|
-
#
|
1
|
+
# flights_gui_tests.gemspec
|
2
2
|
# -*- encoding: utf-8 -*-
|
3
|
+
require_relative 'features/support/version'
|
4
|
+
|
3
5
|
Gem::Specification.new do |gem|
|
4
6
|
gem.authors = ["lgonzalez"]
|
5
7
|
gem.email = ["lgonzalez@despegar.com"]
|
6
|
-
gem.description = %q{test automatizado para
|
8
|
+
gem.description = %q{test automatizado para los productos del equipo flights gui}
|
7
9
|
gem.summary = %q{test para results, checkout y landing}
|
8
10
|
|
9
11
|
gem.files = Dir[".henry/**/*.*"] + Dir["flights_gui_tests.gemspec"] + Dir["Gemfile"] + Dir['features/**/*.rb'] + Dir['features/data/*.*'] + Dir['features/**/*.feature'] + Dir['henry-context.yml']
|
@@ -14,7 +16,7 @@ Gem::Specification.new do |gem|
|
|
14
16
|
|
15
17
|
gem.require_paths = ["lib"] # Usualmente es solo lib -> ["lib"]
|
16
18
|
|
17
|
-
gem.version =
|
19
|
+
gem.version = FlightsGui::VERSION # La version se debe incrementar cada vez que se desea publicar una nueva version del test.
|
18
20
|
|
19
21
|
gem.add_dependency('henry-container', '>= 0.1.39')
|
20
22
|
gem.add_dependency('page-object')
|
@@ -28,7 +30,6 @@ Gem::Specification.new do |gem|
|
|
28
30
|
gem.add_dependency('mock_search', '>= 1.0.0')
|
29
31
|
gem.add_dependency('byebug')
|
30
32
|
gem.add_dependency('dater')
|
31
|
-
gem.add_dependency('headless')
|
32
33
|
|
33
|
-
gem.add_development_dependency('geminabox')
|
34
|
+
gem.add_development_dependency('geminabox', '~> 0')
|
34
35
|
end
|
data/henry-context.yml
CHANGED
@@ -10367,6 +10367,35 @@ tasks:
|
|
10367
10367
|
recipients:
|
10368
10368
|
- estebanldh@gmail.com
|
10369
10369
|
- nsimean@despegar.com
|
10370
|
+
- name: checkout.braspag
|
10371
|
+
class_name: Henry::Task::CucumberTask
|
10372
|
+
options:
|
10373
|
+
tags:
|
10374
|
+
- checkout
|
10375
|
+
- braspag
|
10376
|
+
expand: true
|
10377
|
+
no-source: true
|
10378
|
+
reports:
|
10379
|
+
- format: html
|
10380
|
+
name: ${DATE}_${TASK_NAME}.html
|
10381
|
+
recipients:
|
10382
|
+
- estebanldh@gmail.com
|
10383
|
+
- nsimean@despegar.com
|
10384
|
+
- name: checkout.braspag.br
|
10385
|
+
class_name: Henry::Task::CucumberTask
|
10386
|
+
options:
|
10387
|
+
tags:
|
10388
|
+
- checkout
|
10389
|
+
- braspag
|
10390
|
+
- br
|
10391
|
+
expand: true
|
10392
|
+
no-source: true
|
10393
|
+
reports:
|
10394
|
+
- format: html
|
10395
|
+
name: ${DATE}_${TASK_NAME}.html
|
10396
|
+
recipients:
|
10397
|
+
- estebanldh@gmail.com
|
10398
|
+
- nsimean@despegar.com
|
10370
10399
|
- name: checkout.cac
|
10371
10400
|
class_name: Henry::Task::CucumberTask
|
10372
10401
|
options:
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: flights_gui_tests
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.0.
|
4
|
+
version: 1.0.8
|
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-
|
11
|
+
date: 2015-01-27 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: henry-container
|
@@ -178,35 +178,21 @@ dependencies:
|
|
178
178
|
- - ">="
|
179
179
|
- !ruby/object:Gem::Version
|
180
180
|
version: '0'
|
181
|
-
- !ruby/object:Gem::Dependency
|
182
|
-
name: headless
|
183
|
-
requirement: !ruby/object:Gem::Requirement
|
184
|
-
requirements:
|
185
|
-
- - ">="
|
186
|
-
- !ruby/object:Gem::Version
|
187
|
-
version: '0'
|
188
|
-
type: :runtime
|
189
|
-
prerelease: false
|
190
|
-
version_requirements: !ruby/object:Gem::Requirement
|
191
|
-
requirements:
|
192
|
-
- - ">="
|
193
|
-
- !ruby/object:Gem::Version
|
194
|
-
version: '0'
|
195
181
|
- !ruby/object:Gem::Dependency
|
196
182
|
name: geminabox
|
197
183
|
requirement: !ruby/object:Gem::Requirement
|
198
184
|
requirements:
|
199
|
-
- - "
|
185
|
+
- - "~>"
|
200
186
|
- !ruby/object:Gem::Version
|
201
187
|
version: '0'
|
202
188
|
type: :development
|
203
189
|
prerelease: false
|
204
190
|
version_requirements: !ruby/object:Gem::Requirement
|
205
191
|
requirements:
|
206
|
-
- - "
|
192
|
+
- - "~>"
|
207
193
|
- !ruby/object:Gem::Version
|
208
194
|
version: '0'
|
209
|
-
description: test automatizado para
|
195
|
+
description: test automatizado para los productos del equipo flights gui
|
210
196
|
email:
|
211
197
|
- lgonzalez@despegar.com
|
212
198
|
executables: []
|
@@ -219,6 +205,7 @@ files:
|
|
219
205
|
- features/data/promos.csv
|
220
206
|
- features/data/sites.yml
|
221
207
|
- features/data/tag_microsoft.yml
|
208
|
+
- features/step_definitions/checkout/braspag_steps.rb
|
222
209
|
- features/step_definitions/checkout/cash_payment_steps.rb
|
223
210
|
- features/step_definitions/checkout/checkout_steps.rb
|
224
211
|
- features/step_definitions/checkout/compra_duplicada_steps.rb
|
@@ -327,8 +314,10 @@ files:
|
|
327
314
|
- features/support/pages/results/desambiguation_city_page.rb
|
328
315
|
- features/support/pages/results/search_page.rb
|
329
316
|
- features/support/pages/thanks/thanks_page.rb
|
317
|
+
- features/support/version.rb
|
330
318
|
- features/tests/checkout/agency.feature
|
331
319
|
- features/tests/checkout/book_ok.feature
|
320
|
+
- features/tests/checkout/braspag.feature
|
332
321
|
- features/tests/checkout/cac.feature
|
333
322
|
- features/tests/checkout/cash_payment.feature
|
334
323
|
- features/tests/checkout/compatibility.feature
|