Web自动化测试框架 架构的设计
【生生不息原创】自己动手写Web自动化测试框架7 - 框架架构的设计
上次我们分析了什么是我们想要的自动化测试框架,这一次我们基于上一次的分析,来设计我们的自动化测试框架架构。
首先,我们需要一个类,去做帮助我们处理和IE相关的事情,帮助我们操纵IE,打开和关闭IE。然后,我们需要一组的类,来描述网页上的元素,比如TextBox和Button,去模拟他们的事件,去取得他们的状态。总体来说就是封装这些元素。
除此之外,我们还需要一些辅助的类来帮助我们做一些工作。
接下来我们就先去分析帮助我们操纵IE的类应该有那些功能。所以我们把这个类命名为WebBrowser。参考附带的文件。
首先,我们需要一些内部的成员和辅助类,我们打开的IE进程会用rnetExplorer类来接受,我们可以把这个变量存在整个类的私有变量去。还有我们其实要取出的是这个网页的HTMLDocument类,以供以后来使用。这里我们直接写成了internal,成员变量,其实可以封装成一个属性,看大家的用法了。除了这些,我们还需要一个Timer类,这个类帮助我们完成一些计时的工作。见附带的文件。
其次,打开IE进程这样的事情应该是由这个类来做的.,由于这次对WebBrowser的要求不高,我就在构造函数里面讲IE进程初始化好,具体如何处理这些请参见《【生生不息原创】自己动手写Web自动化测试框架2 - 打开和操纵IE》。我们给这个类构造函数提供了一个带有string参数的方法,目的是让用户可以方便的传入URL而打开浏览器并且转到我们要的页面去。当我们没有参数给构造函数时,用户就会得到一个空的页面。
再次,我们需要一个NavigateTo函数,来操纵浏览器转到某一个地方去。这个函数不多说,就是我们以前的内容。
最后,我们在这里添加了一个DoWait的函数,这个函数的主要目的是完成我们《【生生不息原创】自己动手写Web自动化测试框架5 - 判断浏览器是否加载完成》里面所讨论的等待浏览器加载完成。DoWait放在这里的原因是我们需要在几个地方判断页面加载完成:浏览器浏览到了新的页面、用户点击了某些按钮或者链接、或者甚至用户改变了控件的状态,导致页面回刷,这几个地方会分别被WebBrowser和以后的Web控件类所使用,所以我们把这个DoWait放在WebBrowser里面,以后的Web控件回去引用WebBrowser类的这个方法来判断浏览器是否完成加载。
Notice注意,这里把DoWait的代码写在WebBrowser里面是基于我们以上的页面没有Ajax和框架的假设做出的,如果页面可能有Ajax,我们就不可能简简单单的用这个DoWait去等待加载完成。
我们以后会有对目前框架的改进文章,这些文章会讨论这些问题。
这样我们的WebBrowser就大概写完了。下一次我们会讲解一组类来实现Web控件。
-
配电自动化技术是什么
一引言配电自动化技术是服务于城乡配电网改造建设的重要技术,配电自动化包括馈线自动化和配电管理系统,通信技术是配电自动化的关键。目前,我国配电自动化进行了较多试点,由配电主站、子站和馈线终端构成的三层结构已得到普遍认可,光纤通信作为主干网的通信方式也得...
-
铁路施工电气工程自动化技术研究论文
摘要:随着社会的发展和科技的进步,电气工程及其自动化技术作为一门崭新的技术科学在人们的生活中扮演了越来越重要的角色。从小型元器件设计到大型应用型设备,电气工程及其自动化技术在多领域应用广泛,其技术发展业相对更加快速。随着铁路建设的开展,传统的技术已经...
-
电力工程中电力自动化技术的运用论文
1电力自动化技术和电力系统自动化技术的要求1.1电力自动化技术内涵分析电力自动化技术在不断的发展过程中已经逐渐趋于完善,所谓的电力自动化技术主要就是集信息的处理技术和电子技术以及网络通讯技术为一体的综合性技术,把电力自动化技术在电力工程中得以充分应...
-
华北电力大学自动化学什么?这个专业怎么样?
如题,华北电力大学自动化学什么?这个专业怎么样?就业前景好不好?一般,当然了不能说差,中等偏上吧。华电的主打当然是电力啦,其次就是动力,这两个专业的就业还是十分有保障的,自动化系虽然在华电排第三,但是就业方面差的就不只一个档次了......不过这几年自动化专业发...