喜爱Sahi的10个理由

使用Sahi作为web自动化测试工具一年以来,深深喜欢上了这个小巧简单却功能强大的工具。下面列举喜爱Sahi的10个理由。

工具与语言本身

1. 容易上手

个人体验,Sahi学习起来要比QTPSelenium更简单。Sahi网站有一个长约5分钟的视频(http://sahi.co.in/static/sahi_tutorial.html)非常值得一看。看完视频,下载完Sahi,一天之内你应该就可以开发出自己的第一个Sahi脚本。

2.2. 对ExtJS支持不错

QTP能支持的对于动态ID的支持(通过正则表达式或者_near等相对关系),Sahi可以同样做到。而在对于表格处理方面,Sahi要略胜一筹。比如,判断一个表的某个表格是否是某值,在Sahi里可以一句代码轻松实现:_assertEqual("ABCD",_getText(_cell(1,_in(_div("x-grid3-body")))));而QTP则需要做表和列的循环才能拿到,代码量大且效率也不高。

3.3. 对于AJAX调用和页面载入,大部分时间不需要显式wait。当然,我实践下来有些情况还是需要写wait,导致代码比较丑陋。

4.4. Sahi脚本执行更快速

由于支持多个浏览器进程同时运行,互相独立的测试脚本可以并行执行,大大缩短测试运行时间。这对于快速检查某版本的稳定性是一个很棒的特性。

5.5. 免费

虽然Sahi有免费版和收费版,但免费版已经很不错。

环境相关

6.6. Sahi较轻量,所以对机器资源要求较低,也似乎更容易稳定

Sahi启动比起QTP肯定是轻量。它也没有大量的OR需要存储。Sahi网站说同时运行3个进程大概是50M内存。所以无论从存储空间、执行时的效率和稳定性,Sahi都让我更信赖一些。

7.7. Sahi脚本执行时可以释放鼠标,也可以锁屏

原来我们在做daily build的时候碰到的一个问题是QTP的脚本不能在锁屏的情况下运行,而需要另外的方法绕过去。Sahi没有这个问题,它执行的时候你可以用鼠标和键盘做其它事情,锁屏的时候它也乖乖地运行。

8.8. Sahi对浏览器支持不错

Sahi支持一套脚本,多个浏览器下运行(仅需要修改一个运行参数)。所以,不同浏览器下程序不兼容问题可以快速暴露出来。而且Sahi对浏览器的新版本支持也没有问题。不象有些工具对浏览器不同版本的patch总是滞后比较多的时间,而不打patch则无法运行。

9.9.Sahi可以和持续集成工具轻松集成

Sahi提供接口,可以方便地和Ant, Hudson, Jenkins集成。

10.10.Sahi提供对BDD的支持

Sahi支持Ruby语言编程,可以和Cucumber集成来实现BDD。

时间: 2024-11-09 03:15:26

喜爱Sahi的10个理由的相关文章

高校应该使用 Drupal 的10大理由

使用 Drupal 已经成为全球顶尖高校中的一种潮流,它已经被全球数以百计的院校选择并应用,无论是哈佛.斯坦福.杜克.布朗.罗格斯.剑桥.耶鲁还是其它众多知名高校,都已经选择 Drupal 作为它们理想的内容管理框架,因为它不仅能高校们现在的需求,更能够容纳关于未来的无限可能性. 简单来讲,Drupal 已经被证实它足以满足高校中对于各种网站的需求.如果你有兴趣,可以了解一下有关 Drupal 适用于高校的10大理由. (译注:因为国内外环境差异较大,本文所述的10大理由也并非完全适用于国内高校

爱上 SQLAlchemy 的 10 个理由(转)

原文:http://python.jobbole.com/82453/ 本文由 伯乐在线 - Namco 翻译,唐尤华 校稿.未经许可,禁止转载!英文出处:Paul Johnston.欢迎加入翻译组. 最近,我见到了很多针对 ORM 的抨击,但是我觉得有些批评是莫须有的.我本人就是 SQLAlchemy 的忠实拥趸.在我的项目里很多地方都用到了 SQLAlchemy,我也为 SQLAlchemy 项目贡献了一些代码.这篇文章里,我会阐述你应当爱上 SQLAlchemy 的10个理由.说实话,除了

我痛恨 Git 的 10 个理由(转)

Git 是一个源代码版本控制系统,正在迅速成为开源项目的标准.它有一个强大的分布式模型,允许高级用户用分支来处理各种棘手的问题和改写历史记录.但是,要学习 Git 是需要付出更多的努力,让人不爽的命令行接口以及 Git 是如此的忽视它的使用者. 下面是我为什么如此痛恨 Git 的 10 个理由: 1. 复杂的信息模型 Git 的信息模型是很复杂的,而且你必须对他们都很了解.在这个方面上你看看 Subversion:有文件.工作目录.资源库.版本.分支和标签.你需要了解的就是这些东西,实际上,分支

使用消息队列的 10 个理由

We’ve been working with, building, and evangelising message queues for the last year, and it’s no secret that we think they’re awesome. We believe message queues are a vital component to any architecture or application, and here are ten reasons why:

使用FreeMarker替换JSP的10个理由

你还在使用 Java 服务器页面(俗称JSP)吗?我曾经也是,但是几年前我抛弃了它们,并且再也没有用过JSP了.JSP 是个很好的概念,但是它却剥夺了 web 开发的乐趣. 对我而言,这些都是小事,比如无法在页面模板上使用单独的文件header.jsp 和 footer.jsp,不能调用表达式语言的方法,在运行时无法合并,重新排列页面的各个部分.所以我转而使用 FreeMarker 模板.FreeMarker 已经存在一段时间了,如果你最近没有关注过 FreeMarker 的话,那这有些建议给你

【扣丁学堂】10个理由让你继续干IT

每日一课:扣丁学堂 作为iOS与Android培训领头羊的扣丁学堂,对iOS与Android的研究都是走在互联网发展的潮流最前沿,把最新最好的技术教导给学生. 在课程体系外,还有很多有趣的IT资讯分享给大家: 我曾在"正规"IT这个行当中几进几出.已经从挫折这所学校里面了解到了许多坚守下来的理由.说实话,或多或少地,上述每一条我都有做不到的地方.当你真正了解了干IT的基本理由之后,你就会知道,是IT而不是别的职业能够满足技术头脑的更多需求. 1.钱,钱,钱 对,我们努力工作就是为了赚钱

您不是专业测试人员的10个理由!

为什么测试人员在某些组织中没有得到专业治疗. 你是专业测试员吗? 如果您在空闲时间阅读与质量保证相关的文章以提高您的测试技能,那么您将成为确定为专业测试人员的小型(并且希望增长)工程师. 在镜子里寻找答案 说实话,无论我们不被视为(测试)专业人士,我们都没有优先考虑像专业测试人员那样行事. 基于我有限的经验,无论我在哪里看到测试人员认真对待他们的工作并努力提高智慧,我还看到他们如何受到尊重以及他们的工作如何受到赞赏,这归功于它为本组织带来的价值. 所以说到这一点: 您不是专业测试人员的10个主要

爱上 Java 的10 大理由,Python 弱爆了!

Java和JVM已经存在了很长一段时间了,基于这个事实,一些程序员开始将很多事情视为理所当然.今天我们就来说一说"Java之所以能够成为并将继续是软件项目领先平台"的十大理由. 1.高性能JVM Java最初的开发目的"一次编写到处运行",并由虚拟机提供运行平台.点击这里查看JVM内存模型详解.没有JVM,Java就必须遵循Ruby和Python的步伐--在痛苦中进一步提高其便携性.随着物联网的出现,一个强大的虚拟机变得越来越重要. 2.核心API 最让人喜欢的就是

爱上Java和JVM的10大理由

1.高性能JVM Java最初的开发目的“一次编写到处运行”,并由虚拟机提供运行平台.没有JVM,Java就必须遵循Ruby和Python的步伐——在痛苦中进一步提高其便携性.随着物联网的出现,一个强大的虚拟机变得越来越重要. 2.核心API 最让人喜欢的就是Java核心API——从它诞生之后就可以完全向后兼容,这样我们就可以开始写更多的Java应用.虽然有无数额外的库和JVM语言可以提供简洁的语言水平,以获取多种核心API功能,但其中大部分实际上是依赖于Java核心API的支配.虽然也有其他语