快速业务通道

如何使用Selenium测试工具对Ruby on Rails和Ajax应用程序进行功能测试 - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-16
试工具对Ruby on Rails和Ajax应用程序进行功能测试(3) 时间:2011-07-25 IBM Christian Hellsten

test runner 脚本通常与所测试的应用程序(AUT)部署在同一个服务 器上。这是因为 browser bot 使用 JavaScript 来模拟用户操作。这些脚本在一个受限制的沙箱环境中 运行。如果需要绕过这些限制,可以使用一个代理。

test runner 脚本使用与 xUnit 框架相同的测试套件(test suite)和测试用例概念。测试用例和命 令按照它们在测试套件和测试用例中出现的顺序依次执行。在 清单 1 中:

第一列包含命令 或断 言。

第二列包含命令或断言的目标(target)。这里可以用多种受支持的组件定位符中的一种来 指定目标。通常使用的是组件的 ID 或名称,但 XPath 和 DOM 定位符也是受支持的。

第三列包 含用于为命令或断言指定参数的值。例如,当使用 type 命令时,这一列可能就是一个文本域所期望的值 。

即使对于非技术人员来说,test runner 脚本也易于阅读和编写。当在一个浏览器中打开 清单 1 中的例子时,将得到类似这样的一个表:

First command Target Value
Second command Target Value

接下来,我将描述如何使用命令和 断言编写一个简单但是完整的测试用例。

测试用例实例

执行 清单 2 中的测试脚本时,它 将执行以下操作:

通过进入 /change_address_form.html 打开变更地址页面。

在 ID 为 address_field 的文本框中输入 Betelgeuse state prison。

单击名为 Submit 的输入区。注意 ,这里使用 XPath 找到 Submit 按钮,这导致表单数据被发送到服务器

验证页面是否包含文本 Address change successful。

清单 2. 在测试用例中使用命令和断言的例子

<table>   <tr>    <td>open</td>     <td>/change_address_form.html</td>    <td></td>    </tr>   <tr>    <td>type</td>     <td>address_field</td>    <td>Betelgeuse state  prison</td>   </tr>   <tr>     <td>clickAndWait</td>    <td>//input[@name=''Submit'']</td>    <td></td>   </tr>   <tr>     <td>verifyTextPresent</td>    <td>Address change  successful</td>    <td></td>   </tr>   </table>

如何使用Selenium测试工具对Ruby on Rails和Ajax应用程序进行功能测试(4)

时间:2011-07-25 IBM Christian Hellsten

测试套件

要达到对应用程序的完全测试覆盖,通常需要不止一个 测试用例。这就是 Selenium 使用测试套件的原因。测试套件用于将具有类似功能的一些测试用例编成一 组,以便让它们按顺序运行。

测试套件和测试用例一样,都是用简单的 HTML 表编写的。 Selenium 执行的缺省测试套件的名称是 TestSuite.html。清单 3 展示了一个测试套件,该套件像通常 的用户一样测试应用程序。注意,测试套件使用一个只包含一列的表,表中的每一行指向一个包含某个测 试用例的文件。

清单 3. 测试套件示例

<table>   <tr>    <td>Test suite for the whole application</td>    </tr>   <tr>    <td><a  href="test_main_page.html">Access main page</a></td>    </tr>   <tr>    <td><a hr

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号