Beispiel #1
0
def verificacion_script_argumento_json(argumento_script_json):
    """

    :param argumento_script_json:
    :return:
    """
    if not FormatUtils.cadena_a_json_valido(argumento_script_json):
        return False

    json_argumento_formateado = json.loads(argumento_script_json)

    if not FormatUtils.verificar_keys_json(json_argumento_formateado):
        return False

    elif not path.exists(json_argumento_formateado['pathImage']):
        print('La imagen/archivo por cargar dentro de la plataforma Claro Drive no fue localizado dentro del server, '
              'favor de verificar nuevamente el path de la imagen/archivo.')
        return False

    elif not path.isfile(json_argumento_formateado['pathImage']):
        print('El path de la imagen/archivo establecida, no corresponde a un archivo o imagen valida, favor de '
              'verificar nuevamente el path del archivo.')
        return False

    return True
def main():

    file_config = FormatUtils.lector_archivo_ini()

    path_web_driver = file_config.get('Driver', 'ruta')
    web_driver_por_usar = file_config.get('Driver', 'driverPorUtilizar')

    tiempo_inicial_ejecucion_prueba = Temporizador.obtener_tiempo_timer()
    fecha_prueba_inicial = Temporizador.obtener_fecha_tiempo_actual()

    # verifica que el usuario haya establecido el path de la imagen a subir
    args = sys.argv[1:]

    if len(args) == 0:
        print('Favor de establecer el parametro json')
        sys.exit()

    json_args = args[0]

    if not FormatUtils.cadena_a_json_valido(json_args):
        sys.exit()
    else:
        json_args = json.loads(json_args)

    if not FormatUtils.verificar_keys_json(json_args):
        sys.exit()

    if not path.exists(json_args['pathImage']):
        print(
            'La imagen/archivo por cargar no existe o no se localiza, favor de corregir el path del archivo'
        )
        sys.exit()
    elif not path.isfile(json_args['pathImage']):
        print(
            'La ruta establecida no corresponde a un archivo o imagen valido, favor de corregir el path del archivo'
        )
        sys.exit()

    nombre_archivo_imagen_sin_ext = Path(json_args['pathImage']).stem

    # se establece el navegador (por defecto firefox)
    webdriver_config = ConfiguracionWebDriver(path_web_driver,
                                              web_driver_por_usar)
    webdriver_ux_test = webdriver_config.configurar_obtencion_web_driver()

    # se genera el json de evaluacion
    json_evaluacion_claro_drive = GeneradorJsonBaseEvaluacion.generar_nuevo_template_json(
    )

    json_evaluacion_claro_drive = inicio_sesion_claro_drive(
        webdriver_ux_test, json_evaluacion_claro_drive, json_args)

    json_evaluacion_claro_drive = carga_archivo_claro_drive(
        webdriver_ux_test, json_args['pathImage'],
        nombre_archivo_imagen_sin_ext, json_evaluacion_claro_drive)

    json_evaluacion_claro_drive = descarga_archivo_claro_drive(
        webdriver_ux_test, nombre_archivo_imagen_sin_ext,
        json_evaluacion_claro_drive)
    json_evaluacion_claro_drive = borrar_archivo_claro_drive(
        webdriver_ux_test, json_evaluacion_claro_drive)

    json_evaluacion_claro_drive = cerrar_sesion_claro_drive(
        webdriver_ux_test, json_evaluacion_claro_drive)

    tiempo_final_ejecucion_prueba = Temporizador.obtener_tiempo_timer(
    ) - tiempo_inicial_ejecucion_prueba
    fecha_prueba_final = Temporizador.obtener_fecha_tiempo_actual()

    json_evaluacion_claro_drive['start'] = fecha_prueba_inicial
    json_evaluacion_claro_drive['end'] = fecha_prueba_final
    json_evaluacion_claro_drive['time'] = tiempo_final_ejecucion_prueba
    json_evaluacion_claro_drive['status'] = verificacion_estatus_final(
        json_evaluacion_claro_drive)

    #json_evaluacion_claro_drive = GeneradorJsonBaseEvaluacion. \
    #    establecer_estructura_principal_json(json_args['user'], json_evaluacion_claro_drive)

    time.sleep(2)

    webdriver_ux_test.close()
    webdriver_ux_test.quit()

    print(json.dumps(json_evaluacion_claro_drive))