1、selenium 简单手册1、简介Selenium是一个 Web应用程序自动化测试工具,由 ThoughtWorks公司的开发和测试员团队开发。Selenium 是开源软件并可被下载和使用,这不会带来指控。Selenium 测试直接在浏览器中运行,就像真实用户所做的一样。它运行在 Internet Explorer中,在 Windows、Linux 和 Macintosh上的 Mozilla Suite和 Firefox中,还能在 Mac上的 Safari中。其它测试工具都不能覆盖如此多的平台。Selenium 的中文名为“硒”,是一种化学元素的名字,它对汞 (Mercury)有天然的解毒作用
2、,实验表明汞暴露水平越高,硒对汞毒性的拮抗作用越明显,所以说硒是汞的克星。大家应该知道 Mercury测试工具系列吧(QTP,QC,LR,WR.),他们功能强大,但却价格不菲,大家对此又爱又恨!故 thoughtworks特意把他们的 Web开源测试工具命名为 Selenium,以此帮助大家脱离汞毒。别的不多说了,说的了就让大家觉得太复杂了。与其他测试工具相比,使用 Selenium 的最大好处是:1、Selenium 测试直接在浏览器中运行,就像真实用户所做的一样。Selenium 测试可以在 Windows、Linux 和 MacintoshAnd 上的 Internet Explorer
3、、Mozilla 和 Firefox 中运行。其他测试工具都不能覆盖如此多的平台。2、使用 Selenium 和在浏览器中运行测试还有很多其他好处。下面是主要的两大好处:a.通过编写模仿用户操作的 Selenium 测试脚本,可以从终端用户的角度来测试应用程序。 b.通过在不同浏览器中运行测试,更容易发现浏览器的不兼容性。 背景知识:验收测试(也称功能测试)是用来测试手工任务的功能的,但是手工测试这些任务可能很花时间,并且容易出现人为的错误。在本文中,作者为架构师、开发人员和测试人员展示了如何使用 Selenium 测试工具来自动化验收测试。通过自动化测试,可以节省时间,并消除测试人员所犯的错
4、误。Web 应用程序的验收测试常常涉及一些手工任务,例如打开一个浏览器,并执行一个测试用例中所描述的操作。但是手工执行的任务容易出现操作人员人为的错误,也比较费时间。因此,尽可能将这些任务自动化,以消除人为因素,这是一种很好的做法。于是 Selenium 之类的测试工具就有了用武之地。Selenium 帮助您自动化验收测试,从而可以构建经过更严格测试、因而更为可靠也更易于维护的软件。验收测试也称黑盒测试和功能测试,是测试和检验应用程序是否能按照涉众(stakeholder)的功能性需求、非功能性需求和其他重要需求来运行的一种方法。验收测试是单元测试和组合测试的补充,后两者通常是使用 xUnit
5、 框架编写的。验收测试也可以使用编程语言来编写,但是 Selenium 和其他类似的工具,例如 Fitnesse,也支持用特定于工具的文档格式编写测试。验收测试与单元测试和组合测试有以下不同之处:1、应用程序是作为一个完整的端到端实体来测试的,而不是像单元测试和组合测试那样,只是测试一个类或一组类。 2、验收测试是在用户界面(例如一个浏览器)上执行的,而不是在 Web 应用程序界面上执行的。 3、编写测试用例的人不一定知道应用程序的内部结构,因此也被称作黑盒测试。非技术性用户也可以编写验收测试。 2、安装首先安装 Firefox浏览器,然后安装 selenium IDE。下载好 seleniu
6、m以后直接在 firefox中使用“打开文件”打开即可。3、 selenium IDE 录制脚本和回放通过 selenium IDE录制脚本, 通过 firefox的“工具”的 selenium IDE启动。IDE启动后,弹出如下对话框:上图标明了一些 Selenium IDE的主要功能。其中,由Command,Target,Value 组成的表格就是脚本,每个脚本都是由一条一条的Action(行为)组成,而每个 Action又由(Command,Target,Value)三者组成。Command是 selenium的命令,Target 指的是 Web中的某个对象,比如:文字,输入框等等。Va
7、lue 就是这个对象的值。当弹出上面的 IDE窗口后,我们就可以开始 Selenium的脚本录制了,右上角有个红色的圆点,当它下按时(如上图)就表示 IDE正在进行脚本录制。录制的时候,在 baseURL 中填写要记录的网址,点击录制按钮。下面演示一个例子:上图例子中,我的操作步骤如下:(1).在地址栏输入:http:/ - 博客园),在右键弹出菜单中,单击“Verify TestPersent hyddd - 博客园”。(5).单击第一条记录(即:进入 hyddd - 博客园)(6).Firefox 弹出一个新 Tab页面,并进入了我的博客。现在看看我们的 Selenium IDE录制的结果
8、吧:上图中,中间的表格就是录制的结果,你可以按“运行脚本”重新回放脚本看看,值得注意的是,在运行时,Firefox 可能会认为脚本中最后一个操作(即:步骤 6)为非法弹出框,浏览器会自动阻止其弹出,这个需要设置一下Firefox,具体位置是:Firefox-Menubar-Tools-options-content-Block pop-up Window,你可以把钩去掉或者在 Exceptions里面添加相应的网址。到此为止,脚本录制圆满完成:在运行脚本后,你会发现 IDE表格的颜色发生了变化,运行前,脚本表格为白色,成功运行完毕后,表格为青色,其中还分为深青色和浅青色两种,浅青色表示:动作成
9、功,如:打开网页成功,点击按钮成功等等,而深青色表示:判断正确,如:“hyddd - 博客园”这段文字在页面中存在等等。看完正确,现在我们看看出错时的情况吧。出错时,表格可能会出现两种颜色,一种是浅粉红色,一种是深粉红色。浅粉红色表示判断结果为 false,这种情况案例还是会继续执行下去,判断的失败不会影响案例的运行,深粉红色表示动作失败,如:没有找到按钮等(如上图),这种情况下案例会停止运行。4、 Selenium IDE 其他的重要功能Selenium IDE还有一个重要的功能就是把脚本的转换,一起看看吧:Selenium IDE可以把 HTML的脚本转为 C#,JAVA 等等其他语言的脚本,为我们日后写 Selenium RC的测试案例提供了极大的方便。