前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >Lightweight Test Automation Framework之旅

Lightweight Test Automation Framework之旅

作者头像
张善友
发布于 2018-01-30 09:32:54
发布于 2018-01-30 09:32:54
1.8K0
举报
文章被收录于专栏:张善友的专栏张善友的专栏

Lightweight Test Automation Framework是ASP.NET QA团队开发的自动化集成测试框架,并且应用在ASP.NET QA团队的自动化测试产品中,目前最新版本是April Update,这个框架的作用与WatiNSelenium类似,可操作浏览器对应用程序编写回归测试。根据ASP.NET QA团队博客上发布的Lightweight Test Automation Framework April Release,这个版本主要是修复bug和增加一些新特性,主要特性如下:

  • 用户界面上的改进 :通过放大用例名称和不同的颜色突出显示失败的测试用例,并且有一个“Run Failed Tests”按钮单独运行失败的测试用例。
  • 自动化测试弹出窗口:之前的版本中无法测试弹出窗口,相对于WatiN和Selenium等来说是一个硬伤,老赵在对ASP.NET MVC项目中的视图做单元测试中曾认为这是一个永远无法弥补的缺点。这个版本弥补这个缺陷。
  • 能够查找到部分属性的值:之前的版本只能通过ID属性进行查找,这个版本具备了通过属性进行查找。

关于Lightweight Test Automation Framework的优点方面的介绍,引一段老赵的文章来说明:

  • 由于直接在浏览器中运行,它天生便支持现有的——以及未来可能出现的任意浏览器。
  • 由于直接部署在被测试的网站中,因此测试代码和网站页面是在同一个进程中。

第一点优势自不必说,而第二点更是关键。试想WatiN和Selenium,都是通过编写代码在浏览器中打开页面。这意味着我们的在测试代码和被测试的网页分别在不同的进程中。在这个前提下,如果我们要将测试代码中定义的数据传递给被测试的网页(也就是视图对象),我们就必须进行跨进程的通信。而无论怎么实现,都逃不过“序列化”一途,这无疑增加了复杂度。而使用LTAF之后,这个问题瞬间烟消云散了,因为我们可以直接在内存中“传递”测试数据,一切都只是个引用而已。

如何工作的?

你可以用C#(任何.Net语言)编写测试用例,每个测试用例非常像传统的单元测试,写下一系列的测试命令(例如跳转到URL, 单击按钮, 获取内容, 检查文本内容)。和NUnit GUI 或者Visual Studio’s 内置的单元测试运行器不一样,Test Automation Framework的运行器就是浏览器(任何的浏览器),每一个命令都是通过Ajax方式运行的。你所需要做的工作就是在你的应用程序的Web项目下增加一个Tests文件夹,里面包含两个页面 Default.aspxDriverPage.aspx,下图是它的工作原理图:

测试运行的时候,TestcaseExecutor.js高亮显示运行结果,绿色表示通过,红色表示出错。

如何在asp.net mvc项目中应用Lightweight Test Automation Framework

ASP.NET QA 团队说Lightweight Test Automation Framework是针对“asp.net”设计的,现在asp.net多出来了asp.net mvc,从经验来看Lightweight Test Automation Framework并没有缺省支持asp.net mvc。好在asp.net mvc和webform是可以混合在一起使用,所需要做的就是修改一下routing设置和避免一些依赖于asp.net ajax的功能就可以了。

首先去下载Lightweight Test Automation Framework 然后把Microsoft.Web.Testing.Lightweight.dll引用到项目中,在MVC项目的站点下建立一个目录Test,将Lightweight Test Automation Framework的,修改Routing,添加以下代码

routes.IgnoreRoute("Test/{resource}.axd/{*pathInfo}");

参考文章:

Using Lightweight Test Automation Framework

对ASP.NET MVC项目中的视图做单元测试

Using HtmlUnit on .NET for Headless Browser Automation

HtmlUnit调研报告

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2009-04-11 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
这些测试工具和框架你了解吗
自动化测试是把以人为驱动的测试行为转化为机器执行的一种过程。通常,在设计了测试用例并通过评审之后,由测试人员根据测试用例中描述的规程一步步执行测试,得到实际结果与期望结果的比较。在此过程中,为了节省人力、时间或硬件资源,提高测试效率,便引入了自动化测试.如果说测试工程师今年应该学习什么的问题,答案可能包括编程语言、库和框架,但如果你需要改进或学习一件事,那么下面这些框架是你绕不开的技能。
louiezhou001
2020/02/27
2.2K0
这些测试工具和框架你了解吗
五大自动化测试的 Python 框架
Python在各大排行榜上一直都是名列前茅。目前,它在Tiobe指数中排名第二,仅次于C。随着该编程语言的广泛使用,基于Python的自动化测试框架也应运而生,且不断发展与丰富。
测试小兵
2021/08/05
9.3K0
五大自动化测试的 Python 框架
.NET 基金会项目介绍-NUnit Test Framework
NUnit Test Framework 是属于 .Net 基金会的一个项目,本文将简要介绍该项目相关的信息。
newbe36524
2020/03/16
9520
如何使用 VS Code开发.NET Core应用程序
Visual Studio Code(VS Code)是Microsoft为Windows,Linux和Mac操作系统开发的免费,跨平台,轻量级的源代码编辑器,它是源代码编辑器,而Visual Studio是IDE(集成开发环境),VS Code支持开发人员进行调试,项目运行和版本控制等。
全球技术精选
2021/01/21
2.5K0
如何使用 VS Code开发.NET Core应用程序
【ASP.NET Core 基础知识】--测试--单元测试和集成测试
单元测试是软件开发中的一种测试方法,用于验证软件中的最小可测试单元——通常是函数、方法或类——的行为是否符合预期。它的核心思想是将程序分解成独立的单元,并针对每个单元编写测试用例,以验证其功能是否正确。以下是单元测试的一些关键概述:
喵叔
2024/05/24
4290
.NET 基金会项目介绍-Entity Framework
Entity Framework 是属于 .Net 基金会的一个项目,本文将简要介绍该项目相关的信息。
newbe36524
2020/03/16
7660
test
我的上一篇关于自动化测试的文章,大抵已经在一年以前——《哪个才是最适合你的 Web UI 自动化测试框架》。这么长的时间里,没有相关的文章,总得给自己找一个合适的理由。
Phodal
2018/10/26
1.3K0
dotnet test
dotnet test [<PROJECT> | <SOLUTION> | <DIRECTORY> | <DLL>]
用户4268038
2022/01/05
3.1K0
.NET Core系列 :4 测试
2016.6.27 微软已经正式发布了.NET Core 1.0 RTM,但是工具链还是预览版,同样的大量的开源测试库也都是至少发布了Alpha测试版支持.NET Core, 这篇文章 The State of .Net Core Testing Today 就将各个开源测试库的目前进展进行了汇总。本文我们的目的是在我们构建我们应用程序的时候能够进行测试,如何使用XUnit结合你可以通过为你的项目添加不同的测试用例NSubstitute进行单元测试,同时对整个项目进行集成测试。这次我们使用Visual St
张善友
2018/01/22
3.2K0
.NET Core系列 :4 测试
自动化测试最新面试题和答案
Selenium是基于Web的最流行的UI自动化测试工具。它提供了一组支持多种平台的公开API(例如Linux,Windows,Mac OS X等)。此外,像Google Chrome,Mozilla Firefox,Internet Explorer和Safari等所有现代浏览器都可以用来运行Selenium测试。它也涵盖了Android平台,其中Appium是实现Selenium Webdriver界面的工具,用于移动自动化。
测试之道
2021/03/04
5.8K0
自动化测试最新面试题和答案
Selenium 4 Python的最佳测试框架
随着Python语言的使用越来越流行,基于Python的测试自动化框架也越来越流行。在项目选择最佳框架时,开发人员和测试人员会有些无法下手。做出选择是应该判断很多事情,框架的脚本质量,测试用例的简单性以及运行模块并找出其缺点的技术。这篇文章总结了测试自动化领域,适合Web端自动化框架(基于Python语言)以及它们相对于其他方面的优缺点。因此,可以帮助一些人根据需要和实际情况选择合适的的Python框架进行测试自动化。
FunTester
2019/12/17
1.6K0
Java测试框架九大法宝
大多数测试人员更喜欢Java,因为它具有平台独立性和易于构建任何东西的易用性——从简单的应用程序到复杂的移动应用程序、网站等等。
FunTester
2021/08/18
2.5K0
2020 可替代Selenium的测试框架Top15
业界有一些强大的工具可以替代Selenium,今天就来大概介绍一下。以下清单是精挑细选的Selenium替代框架:
软测小生
2020/04/02
4.8K0
2020 可替代Selenium的测试框架Top15
【单元测试】--工具与环境
JUnit 是一个广泛用于 Java 程序开发的开源测试框架。它是单元测试的标准工具之一,用于编写和运行测试用例,以确保 Java 程序的各个组件按预期工作。以下是一些关键特点和概念,来介绍 JUnit:
喵叔
2023/10/22
4140
自动化测试框架Robot Framework - 自动化测试示例
SeleniumLibrary是Robot Framework的Web测试库,内部使用Selenium工具。
wangmcn
2022/07/26
1.6K0
自动化测试框架Robot Framework - 自动化测试示例
开发人员看测试之TDD和BDD
前言:   已经数月没有来社区了,写博客贵在坚持,一旦松懈了,断掉了,就很难再拾起来。但是每每看到自己博客里的博文的浏览量每天都在增加,都在无形当中给了我继续写博客的动力。最近这两天有听到Jbehave这个名词,上网查了一通,原来是和测试相关的,之前一直做开发,没有做过真正意义上的测试,对于测试的理解更是少之又少。通过这两天的查阅,现将自己的一些理解以及常见概念罗列出来。 正文: Behavior Driven Development,行为驱动开发是一种敏捷软件开发的技术,它鼓励软件项目中的开发者、QA
JackieZheng
2018/01/16
2.1K0
开发人员看测试之TDD和BDD
利用Robot Framework实现多平台自动化测试
基于Robot Framework、Jenkins、Appium、Selenium、Requests、AutoIt等开源框架和技术,成功打造了通用自动化测试持续集成管理平台(以下简称“平台”),显著提高了测试质量和测试用例的执行效率。
测试开发技术
2021/11/04
2.1K0
Python自动化测试框架有哪些?
令开发者万分高兴的是,开发自己的测试框架的日子终于结束了。以前,开发团队接手一个项目并开始开发时,除了项目模块的实际开发之外,他们不得不为这个项目构建一个自动化测试框架。一个测试框架应该具有最佳的测试用例、假设(assumptions)、脚本和技术来运行每一处代码和模块,从而发现代码缺陷和不足。不同的项目需要不同的测试用例、假设和脚本,而这也是为什么会在这些开发中花费大量时间。
小小科
2018/07/31
9240
敏捷团队需要专职QA么?|洞见
敏捷QA对职业发展的担忧 最近和组内的QA聊起以后的职业发展,发现一个有意思的事情,有说想转BA的,有说想转开发的,有说想转型作PM的,还有想以后往咨询方向发展的。很少有说想在团队里面继续作QA的。Q
ThoughtWorks
2018/04/17
1.3K0
敏捷团队需要专职QA么?|洞见
WEB-UI自动化测试-干货
少年读书,如隙中窥月;中年读书,如庭中望月;老年读书,如台上玩月。皆以阅历之深浅,为所得之深浅耳。
测试小兵
2019/11/20
1.7K0
相关推荐
这些测试工具和框架你了解吗
更多 >
领券
社区富文本编辑器全新改版!诚邀体验~
全新交互,全新视觉,新增快捷键、悬浮工具栏、高亮块等功能并同时优化现有功能,全面提升创作效率和体验
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文