Qu'est-ce que c'est et pourquoi est-il nécessaire

Je ne suis pas intéressé par les histoires qui laissent le spectateur indifférent. Je veux que les gens qui quittent le cinéma se disent: "Bon sang, j'ai besoin d'un verre." c) Killian Murphy
Alors qu'est-ce que cela signifie Cinéma et BDD?! Bienvenue au chat.
Je vais parler d'un outil qui à partir d'un script écrit en Gherkin (il existe un tel langage de script) fait une instruction, ou plutôt une documentation à jour (documentation vivante).
Afin de ne pas vous tourmenter, je montrerai immédiatement le résultat de mon travail (et pas seulement).
Je vais vous expliquer comment créer une telle vidéo en un clic à partir du script écrit ci-dessous. Je note que les scripts peuvent être écrits non seulement en russe, mais aussi dans d'autres langues.
Ce n'est pas un secret - la documentation devient obsolète au fil du temps, et sa mise à jour est coûteuse et elle casse. La documentation est déjà là, mais constamment quelque chose doit être complété, les captures d'écran modifiées, etc. Ici, les gars barbus sortent de nulle part et assurent qu'il existe un moyen magique de faire tout votre développement de manière cool (tout cela votre TDD / BDD / à la mode, etc.), avec lequel tout votre code est écrit par lui-même, teste et documente lui-même.
Et maintenant, poussés par la paresse et la foi en un avenir meilleur, les programmeurs 1C ont décidé de mettre en œuvre ce concept. Je vais montrer comment cela fonctionne avec l'outil Vanessa-Automation .
J'ai oublié de dire (en fait, bien sûr je n'ai pas oublié, mais volontairement retardé :-) - cet outil est pour 1C. Mon objectif est de vous parler d'un outil qui complète 1C. Oui, il existe de tels outils, encore plus - ils sont publiés sur github et se développent activement. Je me permets une petite digression. Beaucoup de gens savent qu'il existe maintenant de nombreux frameworks JavaScript, c'est-à-dire qu'ils vivent dans le présent, mais pour une raison quelconque, beaucoup dans la relation 1C vivent dans le passé. Je veux montrer que le monde du 1C se développe. Il existe des outils Open Source normaux pour 1C.
Alors. Un utilisateur a besoin de documentation sous forme de documentation texte (HTML, Markdown), un autre sous forme de screencast et le troisième sous forme d'auto-vidéo. Et pour tous les "Wishlist", il y a une solution dans une bouteille.
Génération de HTML et de démarques
Afin de générer du HTML et du texte dans le démarquage, vous devez installer un utilitaire pour prendre des captures d'écran (IrfanView, nircmd ou similaire). Ensuite, activez ce paramètre. (Service - Auto-instructions. Nous recherchons une section HTML et Markdown). Nous configurons le dossier dans lequel nous enregistrerons les instructions automatiques générées automatiquement. Un exemple:

Nous lançons notre fonctionnalité, s'il n'y a pas eu d'erreur, l'auto-instruction est enregistrée:

Génération vidéo
Sans aucune difficulté, nous pouvons réaliser une vidéo. Pour ce faire, vous devez configurer l'environnement d'enregistrement de la vidéo selon les instructions et profiter du processus. Pas besoin de couper la vidéo, de coller et de superposer le son. Tout cela se fait automatiquement.

Chaque vidéo est accompagnée de sous-titres. Nous pouvons faire une pause et lire. Pas difficile. Nous le rendons aussi pratique que possible pour l'utilisateur.
Si vous vous ennuyez avec la lecture, vous pouvez faire de la voix agissant. Pour ce faire, installez la bibliothèque et exécutez notre script. Dans quelques minutes, la vidéo de voix off sera prête.

Il y a une fonction de superposition d'un filigrane, mettant en évidence l'élément actif à l'écran (cette fonctionnalité fonctionne pour les versions de plate-forme 8.3.11 et inférieures) (oui, les utilisateurs adorent quand ils mâchent tout) et les mouvements de la souris à l'endroit où se déroule l '«Action».
Personnalisation vidéo flexible
Tout commence par le script et se termine dessus. C'est vrai.
Vous pouvez configurer votre serveur CI afin qu'il ne génère pas de documentation pour tous les scénarios, mais uniquement pour les scénarios nécessaires. Pour ce faire, ajoutez une balise dans les scripts destinés aux autodocs, par exemple @tree
(une sélection supplémentaire sur cette balise fonctionnera) et ... profitez du processus.
En théorie, lorsque vous écrivez un gros script, vous devez toujours le diviser en blocs logiques, y faire des commentaires (que cet indicateur super important doit être défini, sinon rien ne fonctionnera).
L'idée de la vidéo automatique est de faire de ces commentaires une partie de «l'histoire» que nous montrons à l'utilisateur.
Pour cela, par exemple, vous pouvez modifier le texte d'une étape, la rendre plus «humaine», car nous écrivons un script dans Gherkin, mais il n'est pas toujours pratique pour les utilisateurs d'écouter le langage métier et il existe donc une directive #[autodoc.text]
. Pour moi, c'est l'une des caractéristiques importantes de Vanessa-Automation, car les utilisateurs ont des compétences différentes - j'essaie d'écrire aussi clairement que possible.
Je voudrais combiner certaines étapes du script en une seule (cela concerne souvent des opérations évidentes). Par exemple, ajoutez des données à la section tabulaire. Ou lorsqu'une étape d'un scénario d'entreprise (remplir les en-têtes d'un document) consiste en des dizaines d'actions. Ensuite, la directive #[autodoc.groupsteps]
. Je veux noter que les directives autodock fonctionnent à la fois pour les instructions vidéo et html et de démarque. D'autres directives sont décrites dans l'
projet.
Lorsque nous regardons la vidéo générée, il n'y aura initialement que de la vidéo sans son. Quelques captures d'écran et flash de texte, cela devient ennuyeux et vous cessez de vous y plonger. Oui, et en quelque sorte triste sans musique. Contexte de la vidéo, vous pouvez mettre de la musique «légère» (ou une sorte de lourdeur, n'importe quel caprice) pour lire plus de plaisir. Le processus d'apprentissage ira plus vite :) L'expérience de la création de telles vidéos a montré que lorsque la musique joue en arrière-plan, la vidéo est perçue plus facilement. Sans musique - en quelque sorte sec.
Lors de l'enregistrement d'une vidéo, le curseur n'est pas affiché et il n'est pas visible où l'on clique sur quel élément. Pour ce faire, il existe un paramètre pour afficher le curseur et mettre en surbrillance l'élément de formulaire.
Tous les paramètres ci-dessus sont affichés dans la vidéo et dans le script qui ont été générés après le passage réussi du script.
Vidéo de mise à jour automatique YouTube
Pour l'assemblage nocturne (eh bien, nous n'allons pas télécharger de vidéos sur YouTube de nos mains, non?), Vous pouvez automatiquement télécharger des vidéos sur la chaîne YouTube.
Nous définissons un script sur notre dossier de fonctionnalités qui détermine que le fichier a changé, puis construit la vidéo et la télécharge si nécessaire.
Pour la vidéo automatique, j'ai fait une application simple sur Golang
(pourquoi dessus? J'ai étudié go et il y avait un vrai problème où l'appliquer. S'il y avait autre chose, ce serait sur autre chose), qui envoie la vidéo finie à la chaîne youtube. Ceci, bien sûr, n'est qu'un exemple. Des vidéos peuvent être ajoutées à votre wiki ou à votre base de connaissances, etc.
Conclusion
Je vous apporte un scénario de test dans lequel la vidéo est générée.
Exemple, fonctionnalité.
#language: ru @tree : . : TestClient #[autodoc.ignore.scenarioslide] : . #[autodoc.text] , . "" " Habr" " ! - ..." " :-)" #[autodoc.groupsteps] . , . "" "" " Habr" "" "14,00" "" "14.08.2018" "" " !" " " " ."
Une brève instruction sur la façon de configurer la documentation automatique se trouve ici .
Instructions sur la configuration de la documentation automatique .
Merci pour votre temps. Peu importe à quel point cela peut sembler sauvage, la communauté 1C a fait un pas en avant ( et à certains égards même dépassé quelqu'un ), sont apparus des outils de test open source, CI - intégration. 1C crée une API pour ses produits - cela permet aux passionnés d'automatiser les zones dans lesquelles 1C n'a pas encore atteint, mais se déplace lentement. Et bientôt un nouveau monde merveilleux nous attend :) J'attends quand nous pourrons créer en EDT sans erreurs critiques.
PS
Soutenez le projet avec un mot aimable, comme une critique (le chat du projet à Gitter est ici ), les auteurs sont toujours ravis.
Les références