模块化应用 UI 测试脚本的最佳方法是什么?

What's the best approach for modular apps UI test scripts?

我想知道你们中的任何人是否有自动化 UI 测试类似模块化应用程序的经验。整个应用程序就像所有典型的 CRM 相关应用程序一样,根据您的个人客户需求,您只需将一些可用模块(之前已预定义)组合在一起,以提供所有必要的功能。

如果 "static" 将所有这些模块放在一起构建的应用程序,那么我们可以用一种非常简单的方式对其进行测试,只需通过所有定义的测试 类,因为我们会知道behaviour/interactions 在所有这些模块之间。

但如果我们需要测试应用行为,同时将其随机 pieces/modules 放在一起以检查它们是否正常工作,我们将需要一些其他方法。

如果有解决方案、一些推荐的架构模式或任何可以帮助我执行此类自动化测试的东西(例如使用 Selenium WebDriver)?或者甚至可以使用 WebDriver 库执行此类测试?

如果您愿意分享您在这方面的任何想法和经验,我将不胜感激。

我在那个领域工作,遇到过类似的情况,以下是我从中学到的东西:

  1. 尽可能避免创建 UI 测试。 UI 测试旨在测试您的应用程序的外观,仅此而已。业务逻辑(比如当我更改该设置时,显示的数据应该更改等)应该在更容易实现的单元测试中进行测试。集成测试中应尽可能涵盖模块之间的交互。
  2. 如果您仍有功能需要测试,请创建一个配置文件,其中包含有关哪些客户启用了哪些模块的信息。在您的测试中,阅读该配置,如果测试不应该 运行,则中止它。

如果有其他研究人员会为这个案例寻找专门的解决方案,我们可以为每个应用程序模块设置一些不同的测试套件,然后我们可以检查每个套件是否满足某些条件。如果某些套装不满足此条件,那么我们将跳过此测试套件。即我们可以获得应用程序 bundles.json 文件,该文件很可能包含有关应用程序模块的所有信息,然后我们可以处理该文件以搜索当前部署的应用程序中不可用的模块。

将此视为有关如何实现此目标的不错参考:Introducing to conditional test running in TestNG