Vanessa-Automation ist ein selbstdokumentierendes Tool für angewandte Lösungen auf der 1C: Enterprise-Plattform. Kino und BDD

Was ist das und warum ist es notwendig?


Cinema


Ich interessiere mich nicht für Geschichten, die den Betrachter gleichgültig lassen. Ich möchte, dass die Leute, die das Kino verlassen, denken: "Verdammt, ich brauche einen Drink." (c) Killian Murphy
Was bedeutet das für Kino und BDD ?! Willkommen bei Katze.


Ich werde über ein Tool sprechen, das aus einem in Gherkin geschriebenen Skript (es gibt eine solche Skriptsprache) eine Anweisung oder vielmehr eine aktuelle Dokumentation (Living-Dokumentation) erstellt.


Um Sie nicht zu quälen, werde ich sofort das Ergebnis meiner (und nicht nur) Arbeit zeigen.
Ich werde Ihnen sagen, wie Sie ein solches Video mit einem Klick aus dem unten beschriebenen Skript erstellen. Ich stelle fest, dass Skripte nicht nur in Russisch, sondern auch in anderen Sprachen geschrieben werden können.


Es ist kein Geheimnis - die Dokumentation wird mit der Zeit veraltet, und die Aktualisierung ist kostspielig und bricht ab. Die Dokumentation ist bereits vorhanden, aber ständig muss etwas ergänzt, Screenshots geändert usw. werden. Hier kommen bärtige Kerle aus dem Nichts und versichern, dass es eine magische Möglichkeit gibt, Ihre gesamte Entwicklung auf coole Weise durchzuführen (all diese modischen TDD / BDD / usw.), mit der Ihr gesamter Code selbst geschrieben, getestet und dokumentiert wird.


Und jetzt, angetrieben von Faulheit und Vertrauen in eine bessere Zukunft, beschlossen 1C-Programmierer, dieses Konzept umzusetzen. Ich werde zeigen, wie dies mit dem Vanessa-Automation- Tool funktioniert.


Ich habe vergessen zu sagen (tatsächlich habe ich natürlich nicht vergessen, aber absichtlich verzögert :-) - dieses Tool ist für 1C. Mein Ziel ist es, Ihnen von einem Tool zu erzählen, das 1C ergänzt. Ja, es gibt solche Tools, noch mehr - sie werden auf Github veröffentlicht und entwickeln sich aktiv weiter. Ich erlaube mir einen kleinen Exkurs. Viele Menschen wissen, dass es jetzt viele JavaScript-Frameworks gibt, das heißt, sie leben in der Gegenwart, aber aus irgendeinem Grund leben viele in der 1C-Beziehung in der Vergangenheit. Ich möchte zeigen, dass sich die Welt von 1C entwickelt. Es gibt normale Open Source-Tools für 1C.


Also. Ein Benutzer benötigt eine Dokumentation in Form einer Textdokumentation (HTML, Markdown), ein anderer in Form eines Screencasts und der dritte in Form eines Auto-Videos. Und für alle "Wunschliste" gibt es eine Lösung in einer Flasche.


HTML- und Markdown-Generierung


Um HTML und Text in Markdown zu generieren, müssen Sie ein Dienstprogramm zum Erstellen von Screenshots installieren (IrfanView, nircmd oder dergleichen). Aktivieren Sie als Nächstes diese Einstellung. (Service - Automatische Anweisungen. Wir suchen einen Abschnitt mit HTML und Markdown.) Wir konfigurieren den Ordner, in dem wir die automatisch generierten automatischen Anweisungen speichern. Ein Beispiel:


autoinstruction


Wir starten unsere Funktion. Wenn keine Fehler aufgetreten sind, wird die automatische Anweisung gespeichert:


autoinstruction


Videoerzeugung


Ohne Schwierigkeiten können wir ein Video machen. Dazu müssen Sie die Umgebung für die Videoaufnahme gemäß den Anweisungen konfigurieren und den Vorgang genießen. Sie müssen das Video nicht schneiden, kleben und den Ton überlagern. Dies geschieht alles automatisch.


autoinstruction


Jedes Video enthält Untertitel. Wir können innehalten und lesen. Nicht schwer. Wir machen es dem Benutzer so bequem wie möglich.


Wenn Ihnen das Lesen langweilig ist, können Sie eine Stimme mit Sprachausgabe erstellen. Installieren Sie dazu die Bibliothek und führen Sie unser Skript aus. In wenigen Minuten ist das Voice-Over-Video fertig.


autoinstruction


Es gibt eine Funktion zum Überlagern eines Wasserzeichens, zum Hervorheben des aktiven Elements auf dem Bildschirm (diese Funktion funktioniert für Plattformversionen 8.3.11 und niedriger) (ja, Benutzer lieben es, wenn sie alles kauen) und zum Bewegen der Maus dahin, wo die „Aktion“ stattfindet.


Flexible Videoanpassung


Alles beginnt mit dem Skript und endet damit. Genau so.


Sie können Ihren CI-Server so konfigurieren, dass er nicht für alle Szenarien, sondern nur für die erforderlichen Szenarien eine Dokumentation generiert. Fügen Sie dazu ein Tag in Skripten hinzu, die für Autodocs bestimmt sind, z. B. @tree (weitere Auswahl für dieses Tag funktioniert) und ... genießen Sie den Vorgang.


Wenn Sie ein großes Skript schreiben, müssen Sie es theoretisch immer noch in logische Blöcke unterteilen und darin Kommentare abgeben (dieses super wichtige Flag muss gesetzt werden, sonst funktioniert nichts).
Die Idee von Auto-Video ist es, diese Kommentare zu einem Teil der „Geschichte“ zu machen, die wir dem Benutzer zeigen.


Zu diesem Zweck können Sie beispielsweise den Text eines Schritts ändern und ihn „menschlicher“ machen, da wir ein Skript in Gherkin schreiben. Es ist jedoch für Benutzer nicht immer bequem, die Geschäftssprache anzuhören, und daher gibt es eine Direktive #[autodoc.text] . Für mich ist dies eines der wichtigsten Merkmale von Vanessa-Automation, da Benutzer unterschiedliche Kompetenzen haben - ich versuche, so klar wie möglich zu schreiben.


Ich möchte einige Schritte im Skript zu einem kombinieren (häufig handelt es sich dabei um offensichtliche Operationen). Fügen Sie beispielsweise Daten zum Tabellenabschnitt hinzu. Oder wenn ein Schritt eines Geschäftsszenarios (Ausfüllen der Überschriften eines Dokuments) aus Dutzenden von Aktionen besteht. Dann wird die Direktive #[autodoc.groupsteps] . Ich möchte darauf hinweisen, dass die Autodock-Anweisungen sowohl für Video- als auch für HTML- und Markdown-Anweisungen funktionieren. Weitere Anweisungen sind in der Projekts beschrieben.


Wenn wir das generierte Video ansehen, gibt es zunächst nur Videos ohne Ton. Einige Screenshots und Textblitze blinken, es wird langweilig und Sie hören auf, sich damit zu beschäftigen. Ja und irgendwie traurig ohne Musik. Hintergrund des Videos Sie können "leichte" Musik (oder irgendeine Art von Schwere, jede Laune) setzen, um mehr Spaß zu lesen. Der Lernprozess wird schneller gehen :) Die Erfahrung beim Erstellen solcher Videos hat gezeigt, dass das Video bei der Wiedergabe von Musik im Hintergrund leichter wahrgenommen wird. Ohne Musik - irgendwie trocken.


Bei der Aufnahme eines Videos wird der Cursor nicht angezeigt und es ist nicht sichtbar, wo wir auf welches Element klicken. Zu diesem Zweck gibt es eine Einstellung zum Anzeigen des Cursors und zum Hervorheben des Formularelements.


Alle oben genannten Einstellungen werden im Video und im Skript angezeigt, die nach erfolgreicher Übergabe des Skripts generiert wurden.


YouTube-Video automatisch aktualisieren


Für die nächtliche Montage (wir werden keine Videos mit unseren Händen auf YouTube hochladen, oder?) Können Sie Videos automatisch auf den YouTube-Kanal hochladen.
Wir legen ein Skript in unserem Funktionsordner fest, das feststellt, dass sich die Datei geändert hat, erstellt dann das Video und lädt es bei Bedarf hoch.
Für das Autovideo habe ich eine einfache Anwendung auf Golang (warum darauf? Ich habe go studiert und es gab ein echtes Problem, wo ich sie anwenden sollte. Wenn es etwas anderes gäbe, wäre es auf etwas anderem), das das fertige Video an den Youtube-Kanal sendet. Dies ist natürlich nur ein Beispiel. Videos können zu Ihrem Wiki oder Ihrer Wissensdatenbank usw. hinzugefügt werden.


Fazit


Ich bringe Ihnen ein Testszenario, in dem das Video generiert wird.
Beispiel, Funktion.


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

Eine kurze Anleitung zum Einrichten der automatischen Dokumentation finden Sie hier .
Anweisungen zum Einrichten der automatischen Dokumentation .


Vielen Dank für Ihre Zeit. Egal wie wild es klingen mag, die 1C-Community hat einen Schritt nach vorne gemacht ( und in gewisser Weise sogar jemanden überholt ), erschien OpenSource-Test-Tools, CI-Integration. 1C stellt eine API für seine Produkte her - dies ermöglicht es Enthusiasten, Bereiche zu automatisieren, die 1C noch nicht erreicht hat, sich aber langsam bewegt. Und bald erwartet uns eine neue wundervolle Welt :) Ich warte darauf, wann wir in EDT ohne kritische Fehler erstellen können.


PS


Unterstützen Sie das Projekt mit einem freundlichen Wort, wie Kritik (Projekt-Chat in Gitter ist hier ), die Autoren freuen sich immer.


Referenzen


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


All Articles