我正在做一个项目,在这个项目中,我们让一个wiki平台与另一个平台的内容保持同步。我们这样做的方法是在数据流管道的“Wiki A”上编辑文档,该管道将数据从“Wiki A”的格式转换为“Wiki B”的格式,并将这些数据发送到“Wiki B”以供导入。
我有三个部件。
我想构建一个自动化的端到端测试框架,理想情况下应该能够测试以下内容:测试的主要需求是我的单元测试,因为每个产品都不能测试产品之间的通信,也不需要测试整个端到端数据流。
根据最初的研究,我的选择是像Selenium这样的记录工具。Selenium可以处理我想要测试的多个产品,但据我所见,测试是脆弱的。另一种选择是一些开发测试工具,比如Cucumber/Capybara,我可以用它编写健壮的测试,但我不确定它如何在多个产品体系结构中工作,每个产品架构都是用不同的语言编写的。
我是以正确的方式看它吗?我是否过于雄心勃勃,不愿尝试一个跨越多个产品的单一端到端测试框架?
发布于 2016-03-04 13:04:44
只要产品提供某种适当的接口,就可以编写以不同语言编写的多个产品的端到端测试。理想情况下,这是一些消息传递接口(例如,Http )。我建议直接使用Wiki界面,而不是通过浏览器访问UI。
我假设'Wiki A‘提供了这样一个添加和更改内容的接口。您的集成测试首先使用此接口来更改一些数据并触发整个过程。然后,您需要确保内容更改已被处理。您可以通过验证“Wiki B”中的更改来做到这一点。同样理想的是,“Wiki B”也提供了一些界面来获取一些内容。因此,您的测试应该只使用'Wiki A‘和'Wiki B’的消息传递接口。
1) Trigger 'Wiki A' change
2) Verify content on 'Wiki B'也许您需要在步骤1和步骤2之间等待一段时间才能进行翻译和导入。您可以使用象Citrus (http://citrusframework.org)这样的测试框架来编写这种完全自动化的集成测试。
https://stackoverflow.com/questions/35759225
复制相似问题