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.