一个关于自动化工具开发思路

如何着手开发一款自动化工具?我们不能仅仅依靠编写大量代码来实现,否则可能会发现一整天过去了,却没有取得什么进展。接下来,我将详细介绍我个人的准备过程。

需要实现哪些功能?

首先,我们需要明确要实现的功能。自动化工具有很多种,例如Python脚本、油猴脚本等。但这些都不符合我们的预期。经过深思熟虑,我们决定开发一款通过流程图完成自动化逻辑的工具。这个工具可以分为两部分:“流程图”和“自动化”。

在日常开发中,我经常需要编写网页自动化脚本,例如操作网页元素事件、点击按钮、输入内容等。对于不懂编程的人来说,这些操作是无法完成的。因此,我们要开发的工具应该能让不懂编程的人也能轻松使用。回到日常开发场景,每次实现一个按钮点击事件,我们都需要在浏览器中选取元素的XPath。如果能解决这个问题,那么不懂编程的人也可以操作网页按钮点击事件。

综上所述,这款自动化工具的功能应该包括:选取网页元素、构建流程逻辑、实现网页自动化。我们可以从日常工作中寻找自动化的场景,例如:爬虫(采集网页数据)、网页操作自动化(自动输入内容)和测试人员的数据校验。

分析功能,逐个解决

功能明确后,我们需要考虑代码实现的难点。从功能整理来看,整个软件实现需要以下几个方面的技术支持。只要解决这些问题,就能实现我们的目标。

选取网页元素

这个功能需要在浏览器上操作,因此谷歌浏览器插件是最佳选择。

流程图描述逻辑

我们可以使用开源库 react flow 来绘制流程图,避免从零开始制作轮子,节省时间。

网页自动化

网页自动化就是用代码模拟在网页上的操作。虽然网络上大多数关于网页自动化的教程都是用Python编写的,但我们可以选择使用Node.js(这并不是因为我们不会Python,而是因为使用Node.js效率更高,哈哈哈)。浏览器操作库

元素与流程图的关联?

我们需要解决流程图如何绘制、是否需要关联网页元素等问题。首先,流程图上的节点应该对应网页上的元素节点。其次,我们可以通过WebSocket服务来实现浏览器选取的网页元素和软件中的流程图之间的通信。

总结

通过以上分析,我们的思路逐渐清晰。接下来,我们可以开始编写代码,验证这些功能的可实现性。在选取、流程图和自动化这三个方面的关联上,我们还需要设计一个数据模型。不过,这个问题可以放在后面解决,先验证目前的可实现性再说。嘿嘿。

你可能感兴趣的:(从0到1开发自动化工具,自动化,运维)