Vanessa-Automation es una herramienta de autodocumentación para soluciones aplicadas en la plataforma 1C: Enterprise. Cine y BDD

¿Qué es y por qué es necesario?


Cinema


No me interesan las historias que dejan al espectador indiferente. Quiero que la gente que sale del cine piense: "Maldita sea, necesito un trago". (c) Killian Murphy
Entonces, ¿qué significa eso Cine y BDD? Bienvenido a cat.


Hablaré sobre una herramienta que a partir de un script escrito en Gherkin (existe un lenguaje de script de este tipo) hace una instrucción, o más bien, documentación actualizada (documentación viva).


Para no atormentarte, mostraré inmediatamente el resultado de mi (y no solo) trabajo.
Te diré cómo hacer un video de este tipo con un clic del guión escrito a continuación. Observo que los guiones se pueden escribir no solo en ruso, sino también en otros idiomas.


No es ningún secreto: la documentación se vuelve obsoleta con el tiempo, y mantenerla actualizada es costosa y se rompe. La documentación ya está allí, pero constantemente hay que complementar algo, cambiar las capturas de pantalla, etc. Aquí, los hombres con barba salen de la nada y aseguran que hay una manera mágica de hacer todo su desarrollo de una manera genial (todos estos su TDD / BDD /, etc.) de moda, con el que todo su código está escrito por sí mismo, pruebas y documentos.


Y ahora, impulsados ​​por la pereza y la fe en un futuro más brillante, los programadores de 1C decidieron implementar este concepto. Mostraré cómo funciona esto con la herramienta Vanessa-Automation .


Olvidé decir (de hecho, por supuesto que no lo olvidé, pero lo retrasé deliberadamente :-): esta herramienta es para 1C. Mi objetivo es contarle sobre una herramienta que complementa 1C. Sí, existen tales herramientas, incluso más: están publicadas en github y se están desarrollando activamente. Me permito una pequeña digresión. Muchas personas saben que ahora hay muchos marcos JavaScript, es decir, viven en el presente, pero por alguna razón muchos en la relación 1C viven en el pasado. Quiero mostrar que el mundo de 1C se está desarrollando. Hay herramientas normales de código abierto para 1C.


Entonces Un usuario necesita documentación en forma de documentación de texto (HTML, Markdown), otro en forma de screencast y el tercero en forma de video automático. Y para todas las "Lista de deseos" hay una solución en una botella.


HTML y Markdown Generation


Para generar HTML y texto en Markdown, debe instalar una utilidad para tomar capturas de pantalla (IrfanView, nircmd o similares). A continuación, habilite esta configuración. (Servicio - Instrucciones automáticas. Estamos buscando una sección de HTML y Markdown). Configuramos la carpeta en la que guardaremos las instrucciones automáticas generadas automáticamente. Un ejemplo:


autoinstruction


Lanzamos nuestra función, si no hubo errores, la instrucción automática se guarda:


autoinstruction


Generación de video


Sin ninguna dificultad, podemos hacer un video. Para hacer esto, debe configurar el entorno para grabar video de acuerdo con las instrucciones y disfrutar del proceso. No es necesario cortar el video, pegar y superponer el sonido. Todo esto se hace automáticamente.


autoinstruction


Cada video viene con subtítulos. Podemos hacer una pausa y leer. No es dificil. Lo hacemos lo más conveniente posible para el usuario.


Si está aburrido de leer, puede hacer que la voz actúe. Para hacer esto, instale la biblioteca y ejecute nuestro script. En un par de minutos, el video de voz en off estará listo.


autoinstruction


Existe la función de superponer una marca de agua, resaltando el elemento activo en la pantalla (esta característica funciona para las versiones de plataforma 8.3.11 y anteriores) (sí, a los usuarios les encanta cuando mastican todo) y los movimientos del mouse hacia donde tiene lugar la "Acción".


Personalización de video flexible


Todo comienza con el guión y termina en él. Eso es correcto


Puede configurar su servidor CI para que no genere documentación para todos los escenarios, sino solo para los necesarios. Para hacer esto, agregue una etiqueta en los scripts diseñados para autodocs, por ejemplo @tree (una selección adicional funcionará en esta etiqueta) y ... disfrute el proceso.


En teoría, cuando escribe un guión grande, aún tiene que dividirlo en bloques lógicos, hacer comentarios en él (que este indicador súper importante debe establecerse, de lo contrario, nada funcionará).
La idea del video automático es hacer que estos comentarios formen parte de la "historia" que le mostramos al usuario.


Para esto, por ejemplo, puede cambiar el texto de un paso, hacerlo más "humano", ya que estamos escribiendo un script en Gherkin, pero no siempre es conveniente que los usuarios escuchen el lenguaje comercial y, por lo tanto, existe una directiva #[autodoc.text] . Para mí, esta es una de las características importantes de Vanessa-Automation, ya que los usuarios tienen diferentes competencias: trato de escribir con la mayor claridad posible.


Me gustaría combinar algunos pasos en el script en uno (a menudo esto se refiere a algunas operaciones obvias). Por ejemplo, agregue datos a la sección tabular. O cuando un paso de un escenario empresarial (completar los encabezados de un documento) consiste en docenas de acciones. Luego #[autodoc.groupsteps] la directiva #[autodoc.groupsteps] . Quiero señalar que las directivas de autodock funcionan tanto para el video como para las instrucciones html y markdown. Otras directivas se describen en la proyecto.


Cuando miramos el video generado, inicialmente solo habrá video sin sonido. Algunas capturas de pantalla y texto parpadean, se vuelve aburrido y dejas de profundizar en él. Sí, y de alguna manera triste sin música. En el fondo del video puede poner música "ligera" (o algún tipo de pesadez, cualquier capricho) para leer más divertido. El proceso de aprendizaje irá más rápido :) La experiencia de crear tales videos mostró que cuando la música se reproduce en segundo plano, el video se percibe más fácilmente. Sin música, de alguna manera seca.


Al grabar un video, el cursor no se muestra y no es visible donde hacemos clic en qué elemento. Para hacer esto, hay una configuración para mostrar el cursor y resaltar el elemento del formulario.


Todos los ajustes anteriores se muestran en el video y en el guión que se generaron después del paso exitoso del guión.


Video de actualización automática de YouTube


Para el montaje nocturno (bueno, no vamos a subir videos a YouTube con nuestras manos, ¿verdad?), Puedes subir videos automáticamente al canal de YouTube.
Establecemos un script en nuestra carpeta de funciones que determina que el archivo ha cambiado, luego crea el video y lo carga cuando es necesario.
Para el video automático, hice una aplicación simple en Golang (¿por qué? Estudié ir y hubo un problema real para aplicarlo. Si hubiera algo más, sería sobre otra cosa), que envía el video terminado al canal de YouTube. Esto, por supuesto, es solo un ejemplo. Se pueden agregar videos a su wiki o base de conocimiento, etc.


Conclusión


Te traigo un escenario de prueba en el que se genera el video.
Ejemplo, característica.


 #language: ru @tree :   . :      TestClient     #[autodoc.ignore.scenarioslide] :  . #[autodoc.text]   ,       .       "" "  Habr"    "      !   -     ..."    "      :-)" #[autodoc.groupsteps]   .        ,      .      ""      ""    " Habr"    ""    "14,00"    ""    "14.08.2018"      ""    "  !"      "  "    "  ." 

Aquí encontrará una breve instrucción sobre cómo configurar la documentación automática.
Instrucciones sobre cómo configurar la documentación automática .


Gracias por su tiempo No importa cuán salvaje pueda sonar, pero la comunidad 1C ha dado un paso adelante ( y de alguna manera incluso superó a alguien ), aparecieron herramientas de prueba de código abierto, CI - integración. 1C crea una API para sus productos; esto permite a los entusiastas automatizar áreas a las que 1C aún no ha llegado, pero se está moviendo lentamente. Y pronto nos espera un nuevo mundo maravilloso :) Estoy esperando cuando podamos crear en EDT sin errores críticos.


PS


Apoye el proyecto con una palabra amable, como crítica (el chat del proyecto en Gitter está aquí ), los autores siempre están complacidos.


Referencias


Source: https://habr.com/ru/post/es420175/


All Articles