开始写这篇文章是为了将“Appium”和“RPA(机器人流程自动化)”联系起来,因为 RPA 现在非常热门。甚至随意找到了一个比较模糊和通用的技术图形来表述(如文章标题图)
机器人流程自动化(或 RPA)已成为一个巨大的产业。这篇文章对 RPA 有一个冗长但标准的定义:
RPA 是一种技术应用,由业务逻辑和结构化输入控制,旨在实现业务流程的自动化。使用 RPA 工具,公司可以配置软件或“机器人”来捕获和解释用于处理交易、操纵数据、触发响应和与其他数字系统通信的应用程序。
一旦你从这个定义中提炼出主干,那么就是:“软件控制软件”。乍一看这可能是一个荒谬的想法。事实上,这其实测试人员应该做的。虽然添加中间层从来都不是一个好方法,但是,有时我们会遇到无法实际修改想要控制的软件的情况。在这种情况下,我们可以编写额外的软件来使用第一个软件,就好像它是一个用户一样。
可能 UI 测试自动化会认为这是他们每天所经历的,然而在我看来,RPA 的主要动机是软件作为主要业务机制的分支。员工面临着与软件革命之前相同的机械、琐碎的任务,但现在它们只是发生在计算机屏幕上,而不是在装配线上。在这种情况下,询问如何控制您不拥有但需要以各种机器人方式使用的软件是有意义的......说到制造汽车,这意味着物理机器人。在将数据输入电子表格时,这意味着软件机器人。
如果这样理解,RPA 与 UI 测试自动化没有什么不同。当然,它有不同的用途,您用于 UI 自动化的所有工具几乎都可以用于 RPA!那么让我们看看 Appium 如何适应这一切。是什么让 Appium 成为一个好的 RPA 工具?
- Appium 支持多种平台。不论是想要自动化一个 Windows 应用程序,一个 macOS 应用程序,还是一个移动应用程序......协同Selenium,Appium为软件运行的任何平台提供了保障。
- Appium 提供了完整的 UI 控制。 RPA 通常是黑盒自动化,就像 UI 测试一样,这也是 Appium 的重点。
- Appium 允许自动化您不拥有的应用程序。这对于 RPA 至关重要,因为如果您拥有想要自动化的软件,则可以直接挂钩到其子程序。通常情况并非如此。
- Appium 是一个独立的服务器,客户端以任何语言编写,因此您可以使用您已经知道的语言和工具来运行 RPA。
- 从工具的角度来看,Appium 只是您导入的一个库,因此它对您的工作流程没有其他限制。
当然,使用 Appium 作为脚本解决方案可能不会吸引想要完全点击式 RPA 开发环境的开发者。但是,有了 Appium Desktop 之类的工具,门槛稍微降低了,并且已经有基于 Appium 构建的产品可以提供完全的视觉体验。
因此,下次您偶然发现像上面这样的 RPA 文章时,请参阅 10 步指南,其中包含诸如“5. 不要掉入数据兔子洞”或“10. 将 RPA 纳入您的整个开发生命周期”之类的短语,您可以放心地将其作为不必要的修饰信息。
关于 RPA,你真正需要知道的是它是 UI 自动化,简单明了。剩下的就是细节。笔者绝没有认为实施 RPA 解决方案没有业务或管理复杂性。我只是向各位指出,“RPA 卓越中心”其实早已经以测试自动化团队的形式存在于企业之中。