HTMLTestRunner informes de conformidad con el marco unittest mediante la optimización y el estilo fracaso

  introducción

  En poco tiempo, escribí un artículo sobre HTMLTestRunner proceso de optimización informe: https://www.cnblogs.com/liudinglong/p/12346824.html , detrás del grupo de amigos hizo una pregunta en el grupo, está en la adopción de y casos problemáticos, icono de estilo y respuesta clic con el fracaso. A pesar de que hace mucho tiempo han ayudado al grupo Amigos resueltos, debido a la ocupada antes, pero no ha sido escrito, escríbalo ahora, con el fin de ayudar a los socios más pequeños desvíos.

  problema

  Aquí es el grupo de Amigos de la cuestión:

 

 

 

  Amigos dijeron que el grupo no se acercó a mi blog sobre el tema, así, echar un vistazo a lo que el problema es:

 

 

 

Captura de grupo de amigos y se encontró dos problemas:

Un problema: la ubicación no es la empanada de usar

Pregunta dos: Haga clic a través de ninguna reacción, o después de hacer clic a través, que no mostró el registro.

 

  soluciones

  En primer lugar, introduzca el código fuente de plantilla de informe, encontrar el _generate_report_test informe, de la siguiente manera:

def _generate_report_test (self, filas, cid, tid, n, t, O, e): 
        # por ejemplo 'pt1.1', 'ft1.1', etc 
        has_output = bool (O o e) 
        # ID修改点为下划线,支持Bootstrap折叠展开特效- FindYou 
        tid = (n == 0 y 'p' o 'f') + 't% s_% s' % (cid + 1, tid + 1) 
        . name = t.id split () ('. ') [- 1] 
        si self.verbosity> 1: 
            doc = t.shortDescription () o "" 
        más: 
            doc = "" 

        desc = doc y (' % s:% s'% (nombre, doc) ) o nombre 
        si no PY3K: 
            si isinstance (desc, str): 
                desc = desc.decode ( "UTF-8") 
        # = tmpl has_output y auto.REPORT_TEST_WITH_OUTPUT_TMPL o self.REPORT_TEST_NO_OUTPUT_TMPL
        tmpl = has_output y (n == 0 y self.REPORT_TEST_NO_OUTPUT_TMPL o self.REPORT_TEST_WITH_OUTPUT_TMPL) o self.REPORT_TEST_NO_OUTPUT_TMPL 

        # UTF-8支持中文- FindYou 
        # o ye debe ser cadena de bytes, ya que se recogen de stdout y stderr? 
        Si isinstance (O, str): 
            # = uo Unicode (o.encode ( 'string_escape')) 
            si PY3K: 
                Uo = o 
            más: 
                Uo = o.decode ( 'UTF-8', 'ignorar') 
        otra cosa: 
            Uo = O 
        si isinstance (e, str): 
            # = ue unicode (e.encode ( 'string_escape')) 
            si PY3K: 
                ue = e
            elif e.find ( "Error") = -1 o e.find ( "Excepción") = -1:! 
                . e.decode es = ( 'UTF-8', 'ignorar') división ( '\ n' ) 
                es [-2] = es [-2] .decode ( 'unicode_escape') 
                ue = u "\ n" .join (es) 
            más: 
                ue = e.decode ( 'utf-8', 'ignorar') 
        otro : 
            ue = e 

        script = self.REPORT_TEST_OUTPUT_TMPL% dict ( 
            id = tid, 
            salida = saxutils.escape (uo + ue), 
        ) 
        si getattr (t, 'imgs', []): 
            #判断截图列表,如果有则追加
            tmp = u "" 
            para i, img en Enumerar (t.imgs):
                si i == 0:
                    tmp + = "" "<img src = "datos: image / jpg; base64,% s" style = "display: block;" class = "img"/> \ n """ % img 
                otra cosa: 
                    tmp + = " "" <img src = "datos: image / jpg; base64," style = "% s display: none;" class = "img" /> \ n """ % IMG 
            IMG = self.IMG_TMPL% dict (IMG = tmp) 
        más: 
            imgs = u "" "无截图" "" 

        fila = tmpl% dict ( 
            tid = tres veces al día, 
            Class = (n == 0 y 'hiddenRow' o 'none'), 
            estilo = n == 2 y ' errorCase' o (n == 1 y 'failCase' o 'Passcase'),
            desc = desc, 
            script = escritura, 
            estado = self.STATUS [n], 
            img = imgs, 
        )
        rows.append (fila) 
        si no has_output: 
            retorno 

    def _generate_ending (auto): 
        self.ENDING_TMPL retorno

  

Esta función se trata sobre todo si los resultados de las pruebas muestran en el informe, el conjunto no entienden que no importa, sólo tiene que añadir código:

 

 

n == 2 realización se adoptó, da salida a REPORT_TEST_WITH_OUTPUT_TMPL, de lo contrario el REPORT_TEST_NO_OUTPUT_TMPL de salida,

El contenido de REPORT_TEST_NO_OUTPUT_TMPL sido cambiados y REPORT_TEST_WITH_OUTPUT_TMPL, a continuación, el botón representan como: BTN-éxito.

 

Luego hay un gráfico circular, modificar la posición:

 

 

  informe optimizado

  Después de la optimización, que a continuación, ejecutar la secuencia de comandos para ver el informe:

 

 

Responder grupo Amigos de la pantalla:

 

 

  

  Desde entonces, el informe concluye optimización HTML. Además, como la automatización, asociados para el desarrollo de las pruebas pueden unirse a nuestro pequeño grupo de intercambio de aprendizaje QQ: 696 400 122.

Supongo que te gusta

Origin www.cnblogs.com/liudinglong/p/12652471.html
Recomendado
Clasificación