本身动手写Web自动化测试框架(7):框架架构的设计

 上次咱们分析了什么是咱们想要的自动化测试框架,这一次咱们基于上一次的分析,来设计咱们的自动化测试框架架构。浏览器

  首先,咱们须要一个类,去作帮助咱们处理和IE相关的事情,帮助咱们操纵IE,打开和关闭IE。而后,咱们须要一组的类,来描述网页上的元素,好比TextBox和Button,去模拟他们的事件,去取得他们的状态。整体来讲就是封装这些元素。架构

  除此以外,咱们还须要一些辅助的类来帮助咱们作一些工做框架

  接下来咱们就先去分析帮助咱们操纵IE的类应该有那些功能。因此咱们把这个类命名为WebBrowser。参考附带的WebBrowser.cs文件。函数

  首先,咱们须要一些内部的成员和辅助类,咱们打开的IE进程会用SHDocVw.InternetExplorer类来接受,咱们能够把这个变量存在整个类的私有变量去。还有咱们其实要取出的是这个网页的HTMLDocument类,以供之后来使用。这里咱们直接写成了internal,成员变量,其实能够封装成一个属性,看你们的用法了。除了这些,咱们还须要一个Timer类,这个类帮助咱们完成一些计时的工做。见附带的timer.cs文件。测试

  其次,打开IE进程这样的事情应该是由这个类来作的,因为此次对WebBrowser的要求不高,我就在构造函数里面讲IE进程初始化好,具体如何处理这些请参见《本身动手写Web自动化测试框架(2):打开和操纵IE》。咱们给这个类构造函数提供了一个带有string参数的方法,目的是让用户能够方便的传入URL而打开浏览器而且转到咱们要的页面去。当咱们没有参数给构造函数时,用户就会获得一个空的页面。设计

  再次,咱们须要一个NavigateTo函数,来操纵浏览器转到某一个地方去。这个函数很少说,就是咱们之前的内容。进程

  最后,咱们在这里添加了一个DoWait的函数,这个函数的主要目的是完成咱们《本身动手写Web自动化测试框架(5):判断浏览器是否加载完成》里面所讨论的等待浏览器加载完成。DoWait放在这里的缘由是咱们须要在几个地方判断页面加载完成:浏览器浏览到了新的页面、用户点击了某些按钮或者连接、或者甚至用户改变了控件的状态,致使页面回刷,这几个地方会分别被WebBrowser和之后的Web控件类所使用,因此咱们把这个DoWait放在 WebBrowser里面,之后的Web控件回去引用WebBrowser类的这个方法来判断浏览器是否完成加载。事件

  注意,这里把DoWait的代码写在WebBrowser里面是基于咱们以上的页面没有Ajax和框架的假设作出的,若是页面可能有Ajax,咱们就不可能简简单单的用这个DoWait去等待加载完成。get

  咱们之后会有对目前框架的改进文章,这些文章会讨论这些问题。string

  这样咱们的WebBrowser就大概写完了。


相关连接:

本身动手写Web自动化测试框架(6):自动化测试框架的规划

本身动手写Web自动化测试框架(5):判断浏览器是否加载完成

本身动手写Web自动化测试框架(4):验证Web控件

本身动手写Web自动化测试框架(3):操纵Web控件

本身动手写Web自动化测试框架(2):打开和操纵IE

本身动手写Web自动化测试框架(1):概述

相关文章
相关标签/搜索