Vanessa-Automation是一个自我文档编制工具,用于1C:Enterprise平台上的应用解决方案。 电影和BDD

这是什么,为什么有必要


Cinema


我对让观众无动于衷的故事不感兴趣。 我希望离开电影院的人们思考:“该死,我需要喝一杯。” (c)基利安·墨菲
那么,Cinema和BDD是什么意思呢? 欢迎来到猫。


我将讨论一种工具,该工具可以用用Gherkin编写的脚本(存在这种脚本语言)发出指令,或者说是最新的文档 (生活文档)。


为了不折磨您,我将立即展示我(不仅是)工作的结果。
我将告诉您如何从下面编写的脚本中一键制作此类视频 。 我注意到脚本不仅可以用俄语编写,还可以用其他语言编写。


这不是秘密-文档会随着时间的推移而过时,并且使其保持最新状态的成本很高,而且会中断。 该文档已经存在,但是经常需要补充一些内容,更改屏幕截图等。 在这里,有胡子的人无处不在,并确保有一种神奇的方法可以以凉爽的方式进行所有开发(所有这些都是您时尚的TDD / BDD /等),所有代码均由其自己编写,测试和编写文档。


现在,在懒惰和对美好未来的信念的驱动下,1C程序员决定实施此概念。 我将展示如何使用Vanessa-Automation工具。


我忘了说(实际上,我当然没有忘记,但故意拖了:-)-此工具适用于1C。 我的目标是向您介绍一种补充1C的工具。 是的,还有这样的工具,甚至更多-它们已发布在github上并且正在积极开发中。 我允许自己一点题外话。 很多人知道现在有很多JavaScript框架,也就是说,它们存在于现在,但是由于某种原因,许多1C关系中的存在于过去。 我想表明1C世界正在发展。 有适用于1C的常规开源工具。


这样啊 一个用户需要文本文档(HTML,Markdown)形式的文档,另一个需要截屏的形式,而第三个需要自动视频的形式。 对于所有“愿望清单”,一瓶都可以解决。


HTML和Markdown生成


为了在markdown中生成HTML和文本,您需要安装一个用于截取屏幕截图的实用程序(IrfanView,nircmd等)。 接下来,启用此设置。 (服务-自动指令。我们正在寻找HTML和Markdown的一部分)。 我们配置将保存自动生成的自动指令的文件夹。 一个例子:


autoinstruction


我们启动我们的功能,如果没有错误,将保存自动指令:


autoinstruction


视频生成


没有困难,我们可以制作视频。 为此,您需要根据说明配置录制视频的环境并享受此过程。 无需剪切视频,粘贴和叠加声音。 这都是自动完成的。


autoinstruction


每个视频都带有字幕。 我们可以暂停阅读。 不难 我们为用户提供了尽可能的方便。


如果您对阅读感到无聊,可以做配音。 为此,请安装并运行我们的脚本。 几分钟后,旁白视频将准备就绪。


autoinstruction


有一个叠加水印的功能,突出显示屏幕上的活动元素(此功能适用于8.3.11及更低版本的平台)(是的,用户在咀嚼所有内容时都喜欢它)和鼠标移动到“动作”发生的位置。


灵活的视频定制


一切都以脚本开始并在其上结束。 没错


您可以配置CI服务器,使其不为所有方案生成文档,而仅为必要的方案生成文档。 为此,请在用于自动文档的脚本中添加标签,例如@tree (可以在此标签上进行进一步选择)并...享受此过程。


从理论上讲,编写大型脚本时,仍然必须将其划分为逻辑块,并在其中进行注释(需要设置此超重要标志,否则将无济于事)。
自动视频的想法是使这些评论成为我们向用户展示的“故事”的一部分。


例如,为此,您可以更改步骤的文本,使其更“人性化”,因为我们正在用Gherkin编写脚本,但是用户收听业务语言并不总是很方便,因此有一条指令#[autodoc.text] 。 对我来说,这是Vanessa-Automation的重要功能之一,因为用户具有不同的能力-我会尽力写清楚。


我想将脚本中的某些步骤组合为一个步骤(通常涉及一些明显的操作)。 例如,将数据添加到表格部分。 或者,当业务场景的一个步骤(填写文档的标题)包含数十个操作时。 然后使用指令#[autodoc.groupsteps] 。 我想指出,自动停放指令适用于视频和HTML以及降价指令。 其他指令在项目的 描述。


当我们观看生成的视频时,最初只有视频没有声音。 一些屏幕截图和文字闪烁,变得无聊,您不再去研究它。 是的,在没有音乐的情况下感到悲伤。 您可以在视频背景上放一些“轻快”的音乐(或某种沉重的声音,一时兴起)来阅读更多乐趣。 学习过程将更快:)创建此类视频的经验表明,当在后台播放音乐时,视频会变得更容易。 没有音乐-有点干。


录制视频时,光标不会显示,在我们单击哪个元素的位置也不可见。 为此,有一个设置用于显示光标并突出显示表单元素。


在脚本成功通过后生成的视频和脚本中显示了上述所有设置。


YouTube自动更新视频


对于每晚的聚会(嗯,我们不会用手将视频上传到YouTube,对吗?),您可以自动将视频上传到YouTube频道。
我们在功能文件夹上设置了一个脚本,该脚本确定文件已更改,然后构建视频并在需要时将其上传。
对于自动视频,我在Golang上做了一个简单的应用程序 (为什么Golang ?我研究了go,在哪里应用时确实存在问题。如果还有其他问题,它将在其他问题上),它将完成的视频发送到youtube频道。 当然,这只是一个例子。 可以将视频添加到您的Wiki或知识库等中。


结论


我带给您一个生成视频的测试场景。
示例,功能。


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

此处提供有关如何设置自动文档的简要说明。
有关如何设置自动文档的说明


谢谢您的时间。 不管听起来多么疯狂,但1C社区已经向前迈进了( 在某些方面甚至超越了某人 ),出现了开源测试工具CI-集成。 1C为其产品制造一个API-允许发烧友自动化1C尚未达到但正在缓慢发展的区域。 不久,一个新的美好世界就在等待着我们:)我正在等待何时可以在EDT中创建而没有严重错误。


聚苯乙烯


用一个友好的词来支持该项目 ,例如批评(Gitter中的项目聊天在这里 ),作者总是很高兴。


参考文献


Source: https://habr.com/ru/post/zh-CN420175/


All Articles