网站测试自动化系统—执行测试用例

本文涉及的产品
应用实时监控服务-应用监控,每月50GB免费额度
应用实时监控服务-用户体验监控,每月100OCU免费额度
简介:

在前面几篇文章网站测试自动化系统—基于Selenium和VSTT数据驱动测试在测试代码中硬编码测试数据里,已经编写了一部分测试用例的代码了。我在文章自动化系统该有的功能里,也提到了,自动化测试用例代码应该能够被系统自动执行起来。我们总不能要求测试人员每天下班之前把最新的测试代码下载到自己本机,用VSTS打开,然后选择要批次执行的测试用例。这种重复机械的劳动是应该要被程序消灭的,毕竟机器的成本要比人工的成本低多了。

首先先分解一下执行测试用例的步骤,编码实现每一个步骤,然后使用批处理的形式将工作流串起来:(当然啦,我们也可以使用.NET里面的Workflow来实现,只不过那样的话我们需要格外添加一个命令安装.NET Framework 3.0。)

1.         安装最新版本的产品,在这次测试过程中,由于开发团队没有使用什么自动化每日编译系统,所有的程序员都是从代码服务器下载最新的代码,在 Visual Studio里面编写调试网站。所以我们测试团队也是直接下载最新的代码,使用Visual Studio编译产品代码 

 

当然啦,在自动化测试系统里面,不可能要求有一个专人按什么“F5”之类的按钮编译整个网站的。幸好Visual Studio只是一个集成开发环境(IDE),它编译程序的实际工作是由MSBUILD这个程序完成的,Msbuild这个程序类似于AntMake等软件。你只要提供代码的解决方案文件(.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”,就可以运行所有的用例了。

前面已经讲到过,Visual Studio只不过是一个集成开发环境,基本上所有界面上的操作都可以使用命令行工具完成,例如编译程序可以使用msbuild.exe,调试程序可以使用mdbg.exe(当然Visual Studio的调试器是窗体程序,不是命令行程序),执行测试用例是通过Mstest.exe完成的。上面a,b,c,d四个步骤,可以使用下面这个命令实现:

mstest /runconfig:TestRunConfig.testrunconfig /testmetadata:Test.vsmdi /testlist:Automation /resultsfile: \TestResults\%SELENIUMHOST%_%ORCHARDSERVICE%_%1.trx

下表列出了上面的命令里使用的参数的意义。

参数名

说明

Runconfig

当你在Visual Studio里创建了一个测试工程(Test Project),VS会自动在你的项目解决方案添加一个.testrunconfig文件。这个文件是用来配置执行一遍测试过程(Test Run)所需要准备的环境的。例如:

 

测试用例是在本机执行,还是在其他机器上执行。

要拷贝的测试数据。

在所有测试用例执行前后要运行的命令—用来准备测试环境。

是否要进行代码覆盖率统计。

等等。

 

使用.testrunconfig的过程我会在后面讲到。

Testmetadata

VS除了添加一个.testurnconfig文件以外,它还会添加一个叫做测试用例元数据(test meta data)的.vsmdi文件。这个文件嘛,就像是所有元数据所标榜的那样,用来描述测试用例的信息。例如测试用例属于哪一个用例列表(test list)啦,测试用例的负责人(Owner)是谁啦等等。

 

.vsmdi文件的详细信息我也会在后面的文章中讲解。

testlist

用例列表,通过这个参数,可以指定要执行的测试用例列表,用例列表是一个树形结构,即用例列表可以包含其他用例列表,具体的示例请看上图。

resultsfile

测试用例执行完毕以后,测试结果文件保存的位置。

 

备注:mstest.exe的其他参数请参考MSDN文档:

http://msdn.microsoft.com/zh-cn/library/ms182489%28VS.80%29.aspx

4.         收集测试结果,这一步骤的详细描述放在下一篇文章中讲解。

既然已经知道替代每一个步骤所使用的命令,剩下的工作,无非就是用PowerShell,或者WMI,或者批处理将这些命令结合起来运行罢了。



本文转自 donjuan 博客园博客,原文链接:  http://www.cnblogs.com/killmyday/archive/2010/03/27/1698610.html ,如需转载请自行联系原作者

相关实践学习
通过云拨测对指定服务器进行Ping/DNS监测
本实验将通过云拨测对指定服务器进行Ping/DNS监测,评估网站服务质量和用户体验。
相关文章
|
2月前
|
人工智能 自然语言处理 数据挖掘
企业数字化转型的关键:如何利用OA系统实现自动化与智能决策
在数字化时代,传统办公系统已无法满足现代企业的需求。通过将RPA(机器人流程自动化)和AI(人工智能)技术与OA系统结合,企业能实现业务流程自动化、智能决策支持,大幅提升工作效率和资源配置优化,推动数字化转型。RPA可自动处理重复任务,如审批、数据同步等;AI则提供智能数据分析、预测和决策支持,两者协同作用,助力财务管理、人力资源管理、项目管理和客户服务等多个领域实现智能化升级。未来,智能化OA系统将进一步提升个性化服务、数据安全和协作能力,成为企业发展的关键驱动力。
|
18天前
|
存储 人工智能 API
OWL:告别繁琐任务!开源多智能体系统实现自动化协作,效率提升10倍
OWL 是基于 CAMEL-AI 框架开发的多智能体协作系统,通过智能体之间的动态交互实现高效的任务自动化,支持角色分配、任务分解和记忆功能,适用于代码生成、文档撰写、数据分析等多种场景。
515 13
OWL:告别繁琐任务!开源多智能体系统实现自动化协作,效率提升10倍
|
1月前
|
JSON 前端开发 API
以项目登录接口为例-大前端之开发postman请求接口带token的请求测试-前端开发必学之一-如果要学会联调接口而不是纯写静态前端页面-这个是必学-本文以优雅草蜻蜓Q系统API为实践来演示我们如何带token请求接口-优雅草卓伊凡
以项目登录接口为例-大前端之开发postman请求接口带token的请求测试-前端开发必学之一-如果要学会联调接口而不是纯写静态前端页面-这个是必学-本文以优雅草蜻蜓Q系统API为实践来演示我们如何带token请求接口-优雅草卓伊凡
72 5
以项目登录接口为例-大前端之开发postman请求接口带token的请求测试-前端开发必学之一-如果要学会联调接口而不是纯写静态前端页面-这个是必学-本文以优雅草蜻蜓Q系统API为实践来演示我们如何带token请求接口-优雅草卓伊凡
|
2月前
|
监控 运维
HTTPS 证书自动化运维:https证书管理系统- 自动化监控
本文介绍如何设置和查看域名或证书监控。步骤1:根据证书状态选择新增域名或证书监控,线上部署推荐域名监控,未部署选择证书监控。步骤2:查询监控记录详情。步骤3:在详情页查看每日定时检测结果或手动测试。
HTTPS 证书自动化运维:https证书管理系统- 自动化监控
|
2月前
|
Linux 持续交付 调度
HTTPS 证书自动化运维:https证书管理系统-自动化部署
本指南介绍如何部署Linux服务器节点。首先复制生成的Linux脚本命令,然后将其粘贴到目标服务器上运行。接着刷新页面查看节点记录,并点击“配置证书”选择证书以自动部署。最后,节点部署完成,后续将自动调度,无需人工干预。
HTTPS 证书自动化运维:https证书管理系统-自动化部署
|
2月前
|
运维
HTTPS 证书自动化运维:https证书管理系统之自动化签发
通过访问【https://www.lingyanspace.com】注册账户,进入证书服务菜单并新增证书。填写域名(单域名、多域名或泛域名),创建订单后添加云解析DNS记录进行质检。确认完成后可下载证书,并支持后续查看、更新和定时更新功能。证书过期前15天自动更新,需配置邮箱接收通知。
HTTPS 证书自动化运维:https证书管理系统之自动化签发
|
2月前
|
运维 监控 数据安全/隐私保护
HTTPS 证书自动化运维:HTTPS 证书管理系统之使用指南
本文详细介绍【灵燕空间HTTPS证书管理系统】(https://www.lingyanspace.com)的配置与使用,涵盖注册账户、邮箱配置及证书自动签发、监控和部署的一体化指南。通过页面顶部菜单的【视频教程】和【图文教程】,帮助用户从注册到实际应用全面掌握系统操作。最新迭代后,泛域名证书已包含根域名,无需额外申请多域名证书。
|
2月前
|
JavaScript NoSQL Java
基于SpringBoot+Vue实现的大学生体质测试管理系统设计与实现(系统源码+文档+数据库+部署)
面向大学生毕业选题、开题、任务书、程序设计开发、论文辅导提供一站式服务。主要服务:程序设计开发、代码修改、成品部署、支持定制、论文辅导,助力毕设!
|
3月前
|
数据采集 人工智能 自然语言处理
Midscene.js:AI 驱动的 UI 自动化测试框架,支持自然语言交互,生成可视化报告
Midscene.js 是一款基于 AI 技术的 UI 自动化测试框架,通过自然语言交互简化测试流程,支持动作执行、数据查询和页面断言,提供可视化报告,适用于多种应用场景。
997 1
Midscene.js:AI 驱动的 UI 自动化测试框架,支持自然语言交互,生成可视化报告
|
2月前
|
存储 测试技术 API
pytest接口自动化测试框架搭建
通过上述步骤,我们成功搭建了一个基于 `pytest`的接口自动化测试框架。这个框架具备良好的扩展性和可维护性,能够高效地管理和执行API测试。通过封装HTTP请求逻辑、使用 `conftest.py`定义共享资源和前置条件,并利用 `pytest.ini`进行配置管理,可以大幅提高测试的自动化程度和执行效率。希望本文能为您的测试工作提供实用的指导和帮助。
145 15

热门文章

最新文章