A Vanessa-Automation é uma ferramenta de auto-documentação para soluções aplicadas na plataforma 1C: Enterprise. Cinema e BDD

O que é e por que é necessário


Cinema


Não estou interessado em histórias que deixem o espectador indiferente. Quero que as pessoas que saem do cinema pensem: "Droga, preciso de uma bebida". c) Killian Murphy
Então, o que isso significa Cinema e BDD ?! Bem-vindo ao gato.


Vou falar sobre uma ferramenta que, a partir de um script escrito em Gherkin (existe uma linguagem de script), faz uma instrução, ou melhor, documentação atualizada (documentação viva).


Para não atormentá-lo, mostrarei imediatamente o resultado do meu (e não apenas) trabalho.
Eu vou te dizer como fazer esse vídeo com um clique no script escrito abaixo. Observo que os scripts podem ser escritos não apenas em russo, mas também em outros idiomas.


Não é segredo - a documentação se torna obsoleta ao longo do tempo, e mantê-la atualizada é dispendiosa e quebra. A documentação já está lá, mas constantemente algo precisa ser complementado, capturas de tela alteradas etc. Aqui, caras barbados surgem do nada e garantem que há uma maneira mágica de fazer todo o seu desenvolvimento de maneira legal (todos esses seus TDD / BDD / etc.), com os quais todo o seu código é escrito por si só, testa e documenta.


E agora, motivados pela preguiça e fé em um futuro melhor, os programadores da 1C decidiram implementar esse conceito. Vou mostrar como isso funciona com a ferramenta Vanessa-Automation .


Eu esqueci de dizer (na verdade, é claro que não esqueci, mas deliberadamente adiei :-) - essa ferramenta é para 1C. Meu objetivo é falar sobre uma ferramenta que complementa 1C. Sim, existem essas ferramentas, ainda mais - elas são postadas no github e estão em desenvolvimento. Eu me permito uma pequena digressão. Muitas pessoas sabem que agora existem muitas estruturas JavaScript, isto é, elas vivem no presente, mas por algum motivo, muitas no relacionamento 1C vivem no passado. Quero mostrar que o mundo da 1C está se desenvolvendo. Existem ferramentas normais de código aberto para 1C.


Então Um usuário precisa de documentação na forma de documentação de texto (HTML, Markdown), outro na forma de screencast e o terceiro na forma de vídeo automático. E para toda a "lista de desejos" existe uma solução em uma garrafa.


Geração de HTML e Markdown


Para gerar HTML e texto na remarcação, você precisa instalar um utilitário para tirar capturas de tela (IrfanView, nircmd ou similares). Em seguida, ative esta configuração. (Serviço - Instruções automáticas. Estamos procurando uma seção de HTML e Markdown). Configuramos a pasta na qual salvaremos as instruções automáticas geradas automaticamente. Um exemplo:


autoinstruction


Lançamos nosso recurso. Se não houver erros, a instrução automática será salva:


autoinstruction


Geração de vídeo


Sem qualquer dificuldade, podemos fazer um vídeo. Para fazer isso, você precisa configurar o ambiente para gravar o vídeo de acordo com as instruções e aproveitar o processo. Não há necessidade de cortar o vídeo, colar e sobrepor o som. Tudo isso é feito automaticamente.


autoinstruction


Cada vídeo vem com legendas. Podemos fazer uma pausa e ler. Não é difícil. Tornamos o mais conveniente possível para o usuário.


Se você está entediado com a leitura, pode fazer voz de dublagem. Para fazer isso, instale a biblioteca e execute nosso script. Em alguns minutos, o vídeo da narração estará pronto.


autoinstruction


Existe a função de sobrepor uma marca d'água, destacando o elemento ativo na tela (esse recurso funciona nas versões 8.3.11 e inferiores da plataforma) (sim, os usuários adoram quando mastigam tudo) e os movimentos do mouse para o local em que a "Ação" ocorre.


Personalização de vídeo flexível


Tudo começa com o script e termina nele. Isso mesmo.


Você pode configurar o servidor de IC para que ele não gere documentação para todos os cenários, mas apenas para os necessários. Para fazer isso, adicione uma tag nos scripts destinados ao AutoDocs, por exemplo, @tree (uma seleção adicional dessa tag funcionará) e ... aproveite o processo.


Em teoria, quando você escreve um script grande, ainda precisa dividi-lo em blocos lógicos, fazer comentários (que esse sinalizador super importante precisa ser definido, caso contrário nada funcionará).
A idéia do vídeo automático é tornar esses comentários parte da "história" que mostramos ao usuário.


Por isso, por exemplo, você pode alterar o texto de uma etapa, torná-la mais "humana", pois estamos escrevendo um script no Gherkin, mas nem sempre é conveniente para os usuários ouvirem a linguagem comercial e, portanto, existe uma diretiva #[autodoc.text] . Para mim, esse é um dos recursos importantes da Vanessa-Automation, já que os usuários têm competências diferentes - tento escrever o mais claramente possível.


Eu gostaria de combinar algumas etapas do script em uma (geralmente isso diz respeito a algumas operações óbvias). Por exemplo, adicione dados à seção tabular. Ou quando uma etapa de um cenário comercial (preenchendo os títulos de um documento) consiste em dezenas de ações. Em seguida, a diretiva #[autodoc.groupsteps] . Quero observar que as diretivas de autodock funcionam para instruções de vídeo e html e markdown. Outras diretivas são descritas projeto.


Quando assistimos ao vídeo gerado, inicialmente haverá apenas vídeo sem som. Algumas capturas de tela e texto piscam, tornam-se entediantes e você para de investigar. Sim, e de alguma forma triste sem música. Como pano de fundo do vídeo, você pode colocar músicas “leves” (ou algum tipo de peso, qualquer capricho) para ler mais divertido. O processo de aprendizado será mais rápido :) A experiência de criar esses vídeos mostrou que, quando a música toca em segundo plano, o vídeo é percebido mais facilmente. Sem música - de alguma forma seca.


Ao gravar um vídeo, o cursor não é exibido e não é visível onde clicamos em qual elemento. Para fazer isso, há uma configuração para exibir o cursor e destacar o elemento do formulário.


Todas as configurações acima são mostradas no vídeo e no script que foram gerados após a passagem bem-sucedida do script.


Vídeo de atualização automática do YouTube


Para montagem noturna (bem, não vamos enviar vídeos para o YouTube com as mãos, certo?), Você pode enviar vídeos automaticamente para o canal do youtube.
Definimos um script em nossa pasta de recursos que determina que o arquivo foi alterado, constrói o vídeo e o carrega quando necessário.
Para vídeo automático, fiz uma aplicação simples no Golang (por quê? Estudei ir e havia um problema real onde aplicá-lo. Se houvesse mais alguma coisa, estaria em outra coisa), que envia o vídeo final para o canal do youtube. Obviamente, isso é apenas um exemplo. Vídeos podem ser adicionados ao seu wiki ou base de conhecimento, etc.


Conclusão


Trago a você um cenário de teste no qual o vídeo é gerado.
Exemplo, recurso.


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

Aqui está uma breve instrução sobre como configurar a documentação automática.
Instruções sobre como configurar a documentação automática .


Obrigado pelo seu tempo. Não importa o quão selvagem possa parecer, mas a comunidade 1C avançou ( e de certa forma até ultrapassou alguém ), apareceu ferramentas de teste de código aberto, CI - integração. A 1C cria uma API para seus produtos - isso permite que entusiastas automatizem áreas para as quais a 1C ainda não chegou, mas está se movendo lentamente. E logo um novo mundo maravilhoso nos espera :) Estou esperando quando podemos criar no EDT sem erros críticos.


PS


Apoie o projeto com uma palavra gentil, como críticas (o chat do projeto em Gitter está aqui ), os autores estão sempre satisfeitos.


Referências


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


All Articles