在前面几篇文章基于Selenium和VSTT的网站测试自动化系统、数据驱动测试、在测试代码中硬编码测试数据里,已经编写了一部分测试用例的代码了。我在文章自动化系统该有的功能里,也提到了,自动化测试用例代码应该能够被系统自动执行起来。我们总不能要求测试人员每天下班之前把最新的测试代码下载到自己本机,用VSTS打开,然后选择要批次执行的测试用例。这种重复机械的劳动是应该要被程序消灭的,毕竟机器的成本要比人工的成本低多了。
首先先分解一下执行测试用例的步骤,编码实现每一个步骤,然后使用批处理的形式将工作流串起来:(当然啦,我们也可以使用.NET里面的Workflow来实现,只不过那样的话我们需要格外添加一个命令—安装.NET Framework 3.0。)
1. 安装最新版本的产品,在这次测试过程中,由于开发团队没有使用什么自动化每日编译系统,所有的程序员都是从代码服务器下载最新的代码,在 Visual Studio里面编写调试网站。所以我们测试团队也是直接下载最新的代码,使用Visual Studio编译产品代码 。
当然啦,在自动化测试系统里面,不可能要求有一个专人按什么“F5”之类的按钮编译整个网站的。幸好Visual Studio只是一个集成开发环境(IDE),它编译程序的实际工作是由MSBUILD这个程序完成的,Msbuild这个程序类似于Ant和Make等软件。你只要提供代码的解决方案文件(.sln文件)或者项目文件(.csproj文件),Msbuild自己会根据项目之间的依赖关系编译代码。因此安装最新版本产品的工作就被分解成:
1.1 下载最新的源代码,所有的文件版本服务器的客户端程序都提供了这个功能。我们这个项目使用的是hg,这个命令获取最新的代码:
hg.exe update
1.2 编译代码:
Msbuild /nologo productcode.sln
1.3 发布编译好的网站,或者使用xcopy命令更新网站文件夹,或者在IIS里面将网站的根目录直接指向产品代码的文件夹。
2. 下载并且编译最新的测试代码,这个步骤跟第1步类似,所以就省略相关命令了。
3. 运行所有的自动化测试用例。VSTT提供了一个叫做用例列表(Test List)的功能,因为是SCRUM的第一个Spring,所以我们在工作时,将所有自动化好了的测试用例都归档到一个叫做Automation的用例列表(Test List)里。
当自动化测试工程师在VSTT批量执行测试用例的时候,通常的步骤是通过执行下面这些步骤实现的:
a) 在VSTT里面打开测试工程文件。
b) 点击Visual studio菜单里的“测试(Test)”—> “窗口(Windows)”—> “Test List Editor”。
c) 展开“Lists of Tests”,勾上“Automation”这个用例列表(Test List),这样就选择了所有自动化的测试用例。如下图所示:
d) 最后点击Visual studio菜单里的“测试(Test)”—> “运行(Run)”—> “Tests in Current Context”,就可以运行所有的用例了。