记得几年前一本《自己动手写操作系统》在全国的技术范围内引起了学习操作系统的热潮。我不才在这里使用这本书的大名,来分享一下我在写Web自动化测试框架上面的一些经验。 首先定义一下Web自动化测试框架:Web自动化测试框架是一个类库,他可以帮助测试人员快速写出Web自动化测试代码,并帮助测试人员在自动化报错的时候快速找到Bug。
目前市场上成熟的Web自动化测试框架有不少,很出名的是Watir,是用现在大名鼎鼎的Ruby写成的,相对于Watir,有一个也很不错的.net版本,就是WatiN,WatiN可以说是市面上可以找到的最好的C# Web自动化测试框架。微软和其他的大公司也有自己的一些Web自动化测试框架,但是公布的并不多。
我这里将会使用C#,一步一步的写出一个最简单不过的自动化测试框架。这个框架的功能是基本可以测试简单的没有Ajax,没有框架,没有Windows对话框的一些网页。而如何测试Ajax之类的网页,我将会在其他的专题中写出。
首先我们看使用的非托管的类库。我们在这里将会使用两个非托管类库:mshtml.dll和Interop.SHDocVw.dll。 mshtml是微软IE的核心类库,下面是Wiki百科的解释:
Trident (also known as MSHTML) is the name of the layout engine for the Microsoft Windows version of Internet Explorer. It was first introduced with the release of Internet Explorer version 4 in October 1997, has been steadily upgraded and remains in use today. For version 7 of Internet Explorer, Microsoft made significant changes to the Trident layout engine to improve compliance with web standards and add support for new technologies.
开发人员可以通过mshtml提供的接口,访问到IE布局对象,从而达到对Web的控制和检查。
另一个类库Interop.SHDocVw.dll则提供了一个InternetExploer的接口,可以帮助我们操纵IE进程,并且进行一些简单的如前进,后退等操作。
这两个类库如果装了VS2005都可以找到。mshtml是IE自带的,在项目中选择添加引用,然后在.net标签下面找到Microsoft.mshtml就可以找到了。而Interop.SHDocVw要复杂一点,添加引用中,选择浏览标签,然后在下面的路径就可以找到:C:\Program Files\Microsoft Visual Studio 8\Application\PreEmptive Solutions\Dotfuscator Community Edition
下一次我们将会讲解如何创建IE的实例,并且操纵IE。
来源:oschina
链接:https://my.oschina.net/u/2910125/blog/786620