完成了Invoke的过程,下面就是脚本的设计了。我为脚本的设计,增加了几方面的内容:
1.定义TestWindow的概念,表示每一个被测试和编码的窗体。
2.定义TestStep的概念,表示对用户界面发出的每一次命令。
3.定义TestPackage概念,表示多个TestStep的组合。
4.定义TestWindow和TestStep之间的关系。TestWindow包含多个TestStep。每一个TestStep包含多个TestWindow,表示这个命令可能触发的新的测试窗体。
定义这些概念是非常有意义的。可以帮助我们清晰地理解系统,也非常便于以后的技术交流。这也说明了自动化测试框架本身设计的完善和进步。
在定义完成这些概念后,就是完成一个脚本的配置工具。并在这个编辑器上实现脚本的调试和日志功能。调试方面,我们选择了HTTP的调用方式。其实可以选择很多其他方式。一来HTTP的方式,实现起来很简单。二来支持HTTP后,调用自动化测试,只需要通过HTTP就可以了。FinalBuilder和一些Shell都支持这种方式。这对于以后的自动化调用是非常有意义的。
现在系统的架构变了。不再是原先的一个系统了,因为这里引入了一个辅助系统,可以称之为自动化的IDE。再使用上面的方式,我们描述以下系统:
等号表示系统交互是双方向的。IDE向系统发送脚本,系统向IDE发送LOG。
好了,这次重构基本都完成了。整个过程的中心在于脚本的结构迁移。而重构的前因和结果也都进行了对比。虽然说很多方面的细节也许并没有考虑清除。但是这次框架设计的重构,其实更是框架本身的完善过程。
文章来源于领测软件测试网 https://www.ltesting.net/