Exemplo n.º 1
0
    def formateo_de_tiempos(objeto_json):
        for i in range(3):
            objeto_json['steps'][i]['time'] = FormatUtils.truncar_float_cadena(objeto_json['steps'][i]['time'])

        objeto_json['time'] = FormatUtils.truncar_float_cadena(objeto_json['time'])

        return objeto_json
    def obtener_carpetas_en_sesion(driver):
        lista_de_carpetas_localizadas = []
        lista_nombres_de_carpetas_formateadas = []
        clase_css_carpeta_owa_2016 = "_n_C4"
        clase_css_carpeta_owa_2013 = '_n_Z6'
        xpath_carpeta_owa_2010 = "//a[@name='lnkFldr']"
        se_encontraron_carpetas = False
        tiempo_de_inicio = Temporizador.obtener_tiempo_timer()
        tiempo_de_finalizacion = 0

        while tiempo_de_finalizacion < 60:

            time.sleep(10)

            if SeleniumTesting.verificar_elemento_encontrado_por_clase_js(
                    driver, clase_css_carpeta_owa_2016):
                SeleniumTesting.owa_descubierto = 2016
                se_encontraron_carpetas = True
            elif SeleniumTesting.verificar_elemento_encontrado_por_clase_js(
                    driver, clase_css_carpeta_owa_2013):
                SeleniumTesting.owa_descubierto = 2013
                se_encontraron_carpetas = True
            elif SeleniumTesting.verificar_elemento_encontrado_por_xpath(
                    driver, xpath_carpeta_owa_2010):
                SeleniumTesting.owa_descubierto = 2010
                se_encontraron_carpetas = True

            tiempo_de_finalizacion = Temporizador.obtener_tiempo_timer(
            ) - tiempo_de_inicio

            if tiempo_de_finalizacion % 20 == 0:
                SeleniumTesting.navegar_a_sitio(
                    SeleniumTesting.url_owa_exchange)
                driver.refresh()

            if se_encontraron_carpetas:
                SeleniumTesting.log.info('Se localizan con exito las carpetas dentro de la plataforma OWA, en un lapso aproximado'\
                    ' de {} seg'.format(FormatUtils.truncar_float_cadena(tiempo_de_finalizacion)))
                break
            else:
                SeleniumTesting.log.info(
                    'Fue imposible localizar las carpetas dentro de la plataforma OWA, se intentara nuevamente'
                )
                SeleniumTesting.log.info(
                    'Titulo actual de la plataforma: {}'.format(driver.title))
                SeleniumTesting.log.info(
                    'URL actual de la plataforma: {}'.format(
                        driver.current_url))

        if se_encontraron_carpetas == False:
            tiempo_de_finalizacion = Temporizador.obtener_tiempo_timer(
            ) - tiempo_de_inicio
            SeleniumTesting.log.error('Han transcurrido mas de {} seg sin localizar'\
                ' las carpetas dentro de la plataforma OWA'.format(FormatUtils.truncar_float_cadena(tiempo_de_finalizacion)))
            SeleniumTesting.log.error(
                'Title actual de la plataforma: {}'.format(driver.title))
            SeleniumTesting.log.error('Url actual de la plataforma: {}'.format(
                driver.current_url))

        else:
            SeleniumTesting.log.info(
                'Plataforma OWA version {} identificada'.format(
                    SeleniumTesting.owa_descubierto))
            time.sleep(4)
            if SeleniumTesting.owa_descubierto == 2010:
                lista_de_carpetas_localizadas = driver.find_elements_by_xpath(
                    xpath_carpeta_owa_2010)
            elif SeleniumTesting.owa_descubierto == 2013:
                script_js = '''
                        var elementos = document.getElementsByClassName('_n_Z6');
                        return elementos;
                        '''
                lista_de_carpetas_localizadas = driver.execute_script(
                    script_js)
            elif SeleniumTesting.owa_descubierto == 2016:
                script_js = '''
                        var elementos = document.getElementsByClassName('_n_C4');
                        return elementos;
                        '''
                lista_de_carpetas_localizadas = driver.execute_script(
                    script_js)

        for carpeta in lista_de_carpetas_localizadas:

            if SeleniumTesting.owa_descubierto == 2010:
                nombre_de_carpeta = carpeta.text
            else:
                nombre_de_carpeta = FormatUtils.remover_backspaces(
                    carpeta.get_attribute('innerHTML'))

            SeleniumTesting.log.info(
                'Se obtiene la carpeta: {}'.format(nombre_de_carpeta))
            lista_nombres_de_carpetas_formateadas.append(nombre_de_carpeta)

        return lista_nombres_de_carpetas_formateadas