Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
220 changes: 208 additions & 12 deletions odoo-scripts/selenium_test.py
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,7 @@ def __init__(self, **args):
self.driver.implicitly_wait(15)
self.product = args.get('product')
self.partner = args.get('partner')
self.name = args.get('name')
self.driver.get(
'%(server)s/'
'login?db=%(db)s&'
Expand Down Expand Up @@ -410,8 +411,8 @@ def go_to_pos_form(self):
"$('a.o_app div:contains(Punto de Venta)').click()")
time.sleep(5)
driver.execute_script(
"$('div.o_kanban_record:contains(Tadeo) "
"button:contains(Reanudar)').click()")
"$('div.o_kanban_record:contains(%s) "
"button:contains(Reanudar)').click()" % self.name)
driver.execute_script(
"$('div.o_kanban_record:contains(Test Admin) "
"button:contains(Nueva sesión)').click()")
Expand Down Expand Up @@ -473,8 +474,8 @@ def close_session(self):
"$('div.header-button:contains(Confirmar)').click()")
raw_input('Press Enter after the POS is closed')
driver.execute_script(
"$('div.o_kanban_record:contains(Tadeo) "
"button:contains(Cerrar)').click()")
"$('div.o_kanban_record:contains(%s) "
"button:contains(Cerrar)').click()" % self.name)
time.sleep(6)
driver.execute_script(
"$('button:contains(Validar y contabilizar asiento):"
Expand Down Expand Up @@ -695,7 +696,7 @@ def fill_checkout_form(self):
"$('input[name=zip]').val('37187')")
time.sleep(1)
driver.execute_script(
"$('select[name=state_id] option:contains(Aguascalientes)')."
"$('select[name=state_id] option:contains(Nuevo León)')."
"prop('selected', true)")

def process_checkout(self):
Expand Down Expand Up @@ -755,7 +756,7 @@ def fill_shipment_form(self):
"prop('selected', true)")

def go_to_sale_quotation(self):
"""
"""Method used to move us from main window to view for quotations
"""
driver = self.driver
time.sleep(10)
Expand All @@ -776,8 +777,8 @@ def go_to_sale_quotation(self):
"td[data-field=name]')[0].click()")

def confirm_sale(self):
"""
"""
"""Method to confirm the sale of the quotation created
by the client via website"""
driver = self.driver
time.sleep(6)
driver.execute_script(
Expand All @@ -802,6 +803,192 @@ def confirm_sale(self):
"$('button:contains(Confirmar venta):"
"not(.o_form_invisible)').click()")

def go_to_product_form(self):
"""Method used to move us from main window to view for products
"""
driver = self.driver
time.sleep(2)
driver.execute_script(
"$('a.o_app div:contains(Ventas)').click()")
time.sleep(5)
driver.execute_script(
"$('a.dropdown-toggle:contains(Ventas)').click()")
time.sleep(2)
driver.execute_script(
"$('a.o_menu_entry_lvl_2:contains(Productos):"
"not(.oe_kanban_action)').click()")
time.sleep(2)
driver.execute_script(
"$('button:contains(Crear)').click()")

def fill_product_form(self):
"""Fill the form for a new product
"""
driver = self.driver
time.sleep(2)
driver.execute_script(
"$('input[placeholder=\"Nombre del Producto\"]')"
".val('Producto prueba')")
time.sleep(2)
driver.execute_script(
"$('select[name=type] option:contains(Producto Almacenable)')"
".prop('selected', true)")
time.sleep(2)
driver.execute_script(
"$('input.o_form_radio[value=order]').click()")
time.sleep(2)
driver.execute_script(
"$('tr:contains(Precio de venta) input').val('35.00')")
time.sleep(2)
driver.execute_script(
"$('tr:contains(Coste) input').val('17.50')")
time.sleep(2)
driver.execute_script(
"$('a:contains(Inventario)').click()")
time.sleep(1)
driver.execute_script(
"$('input[data-record-id=18]').click()")
time.sleep(1)
driver.execute_script(
"$('input[data-record-id=19]').click()")
time.sleep(2)
driver.execute_script(
"$('a:contains(Contabilidad)').click()")
time.sleep(1)
driver.execute_script(
"$('tr:contains(Impuestos del Cliente) input')."
"val('16% IVA de Ventas').keydown()")
time.sleep(1)
driver.execute_script(
"$('li a:contains(16% IVA de Ventas):"
"not(:contains(Crear))').click()")
time.sleep(1)
driver.execute_script(
"$('tr:contains(Impuestos de Proveedor) input')."
"val('16% IVA de Compra').keydown()")
time.sleep(1)
driver.execute_script(
"$('li a:contains(16% IVA de Compra):"
"not(:contains(Crear))').click()")
time.sleep(2)
driver.execute_script(
"$('button.o_form_button_save').click()")

def go_to_promotion_form(self):
"""Method used to move us from main window to view for promotions
"""
driver = self.driver
time.sleep(4)
driver.execute_script(
"$('a.o_app div:contains(Ventas)').click()")
time.sleep(5)
driver.execute_script(
"$('a.dropdown-toggle:contains(Configuración)').click()")
time.sleep(2)
driver.execute_script(
"$('a.o_menu_entry_lvl_3:contains(Programa de promoción):"
"not(.oe_kanban_action)').click()")
time.sleep(2)
driver.execute_script(
"$('button:contains(Crear)').click()")

def fill_promotion_form(self):
"""Fill the form for a new promotion
"""
driver = self.driver
time.sleep(2)
driver.execute_script(
"$('div:contains(Nombre del programa) "
"input.oe_title').val('Promoción prueba')")
time.sleep(2)
driver.execute_script(
"$('input[name=is_public_included]').click()")
time.sleep(2)
driver.execute_script(
"$('input[value=code_needed]').click()")
time.sleep(2)
driver.execute_script(
"$('tr:contains(Código de promoción) input')."
"val('PR0M0-C0D3')")
time.sleep(2)
driver.execute_script(
"$('td:contains(Producto de linea):not(:contains(Reference))')"
".next().find('input').val('discount').keydown()")
time.sleep(1)
driver.execute_script(
"$('a:contains(discount):"
"not(:contains(Crear))').click()")
time.sleep(2)
driver.execute_script(
"$('tr:contains(Aplicar descuento) input')"
".val('25.00')")
time.sleep(2)
driver.execute_script(
"$('button.o_form_button_save').click()")

def go_to_delivery_method_form(self):
"""Method used to move us from main window
to view for delivery method"""
driver = self.driver
time.sleep(4)
driver.execute_script(
"$('a.o_app div:contains(Ventas)').click()")
time.sleep(5)
driver.execute_script(
"$('a.dropdown-toggle:contains(Configuración)').click()")
time.sleep(2)
driver.execute_script(
"$('a.o_menu_entry_lvl_3:contains(Métodos de Entrega):"
"not(.oe_kanban_action)').click()")
time.sleep(2)
driver.execute_script(
"$('button:contains(Crear)').click()")

def fill_delivery_method_form(self):
"""Fill the form for a new delivery method
"""
driver = self.driver
time.sleep(5)
driver.execute_script(
"$('div:contains(Nombre) h1 input')."
"val('Entrega de Prueba')")
time.sleep(2)
driver.execute_script(
"$('tr:contains(Compañía de transporte) input')."
"val('VECO CAPITAL S.A. de C.V.').keydown()")
time.sleep(1)
driver.execute_script(
"$('li.ui-menu-item a')[0].click()")
time.sleep(2)
driver.execute_script(
"$('tr:contains(Precio fijo) input').val(99.99)")
time.sleep(1)
driver.execute_script(
"$('a:contains(Destino)').click()")
time.sleep(2)
driver.execute_script(
"$('tr:contains(Países) input')."
"val('México').keydown()")
time.sleep(1)
driver.execute_script(
"$('a:contains(México):"
"not(:contains(Crear))').click()")
time.sleep(2)
driver.execute_script(
"$('tr:contains(Estado) input')."
"val('Nuevo León').keydown()")
time.sleep(1)
driver.execute_script(
"$('a:contains(Nuevo León):"
"not(:contains(Crear))').click()")
time.sleep(2)
driver.execute_script(
"$('button.o_form_button_save').click()")
time.sleep(2)
driver.execute_script(
"$('div.fa-globe').click()")



@click.command()
@click.option('-server',
Expand All @@ -824,7 +1011,11 @@ def confirm_sale(self):
default='',
prompt='Company',
help='Company which the test is going to run the test')
def main(server, user, password, db, com):
@click.option('-name',
default='',
prompt='Name',
help='Name of user who is going to run the test')
def main(server, user, password, db, com, name):
classes_dict = {
'apex': 'SaleTestApex',
'lodi': 'SaleTestLodi',
Expand Down Expand Up @@ -854,7 +1045,8 @@ def main(server, user, password, db, com):
'password': password,
'db': db,
'partner': partner.get(com),
'product': product.get(com)
'product': product.get(com),
'name': name
}

lodi_list = ['go_to_sale_form', 'fill_form', 'go_to_pickings',
Expand All @@ -867,8 +1059,12 @@ def main(server, user, password, db, com):
'go_to_sale_form', 'fill_form', 'create_invoice',
'go_to_pickings', 'validate_out',
'add_to_cart', 'fill_checkout_form', 'process_checkout',
'go_to_sale_quotation', 'confirm_sale', 'create_invoice',
'go_to_pickings', 'validate_out'],
'go_to_sale_quotation', 'confirm_sale',
'create_invoice', 'go_to_pickings', 'validate_out',
'go_to_product_form', 'fill_product_form',
'go_to_delivery_method_form',
'fill_delivery_method_form',
'go_to_promotion_form', 'fill_promotion_form'],
'lodi': lodi_list,
'apex': lodi_list,
'exim': exim_list,
Expand Down