基于web的应用的自动化测试的制作方法_3

文档序号:9865394阅读:来源:国知局
自用户的直接输入确定和/或可W通过从存储器部件(例如,位于至少 一个计算机外部的数据库中)访问用户指定的条件来确定。 阳化5] 在一些实现方式中,可W基于先前测试结果动态地生成由web应用测试模块202 生成的命令。例如,web应用测试模块202可W使得用户定义的测试脚本能够指定测试场 景的条件转移,从而使得实时测试结果确定由测试模块202生成的将来测试命令。
[0056] 作为具体示例,用户定义的测试脚本可W包括用于加载包含web应用的具体网页 并且确定用户指定的文本串是否出现在网页的内容中(或者在网页的U化中)的指令。在 一些场景中,浏览器自动化模块204可W能够加载和擅染网页,但是它可能不能执行用户 希望的用于测试web应用的更高级的操作,比如比较或者其他过滤操作。在运样的场景中, web应用测试模块202可W控制系统200的其他操作W便比较在网页中显示的文本与用户 指定的文本串并且输出比较的结果。
[0057] 作为可W由web应用测试模块202执行的测试操作的另一示例,用户定义的测试 脚本可W包括用于测量用于加载用于具体网页的内容的延迟的指令。同样,浏览器自动化 模块204可W能够加载和擅染希望的网页,但是它可能不能执行更高级的操作,比如测量 用于加载网页的内容或者用于加载网页中的具体元素的时间。在运样的场景中,web应用 测试模块202可W控制系统200的操作W测量在web浏览器中加载网页的内容的时间延迟 并且比较测量的时间延迟与用户指定的阔值。如果测量的加载网页的延迟超过用户指定的 阔值(例如,从而指示希望的网页擅染的缓慢),则web应用模块202可W采取补救步骤,比 如确定网页的内容的某些部分是否已经加载了用户定义的阔值时间。
[0058] web应用测试模块202也可W使得用户能够指定用于控制测试的一个或者多个参 数。运样的参数可W与第一命令一起被提供给浏览器自动化模块204和/或在执行第二命 令期间用来控制系统200的不可由浏览器自动化模块204控制的操作。用户指定的参数可 W通过输入从用户直接地被接收和/或可W通过从数据库访问参数而被确定。例如,web应 用测试模块202可W确定存储一个或者多个用户指定的参数的数据库的网络地址并且从 在网络地址处的数据库获得参数。
[0059] 在一些实现方式中,web应用测试模块202可W使得用户能够使用在比如果用户 与浏览器自动化模块204或者测试系统200的其他部件直接地交互则原本可能的格式和/ 或语言更简单的格式和/或语言的用户定义的指令来对web应用执行测试。运样,系统可 W使得用户能够使用简单指令来按照用户友好的语言定义测试脚本,并且可W将那些指令 转换成低级命令(例如,用于控制浏览器自动化工具204的操作的第一命令和用于控制其 他操作的第二命令)。
[0060] 运样,web应用测试模块202与单独由浏览器自动化模块204原本提供的用户接 口和总测试环境相比,不仅可W提供用于控制web浏览器的更简单和更易用的用户接口, 而且还提供用于web应用的更可定制(经由用户定义的脚本和参数)和更全面的总测试环 境。
[0061] 现在参照图3,图示了执行web应用的自动化测试的示例。示例过程300可W例如 由web应用测试系统(例如,图2中的系统200或者图1中的系统118)执行。在示例过程 300中,可W向web应用测试系统200提供各种输入和软件包。例如,输入302可W包括待 测试的web应用W及用户定义的测试脚本和场景。此外,可W安装一个或者多个软件档案 304,比如浏览器自动化工具(例如,图2中的浏览器自动化模块204,比如Selenium单独 服务器)、集成软件开发环境(例如,Eclipse集成开发环境(IDE))和软件开发工具箱(例 如,化va开发工具箱(JDK))。在一些实现方式中,也可W安装用于web应用测试模块(例 如,图2中的web应用测试模块202)的软件为软件包。
[0062] 测试执行循环可W包括可W被划分成各种测试阶段的操作,但是运样的分类不是 实施web应用测试系统而必需的。在图3的示例中,测试包括测试管理阶段306、测试自动 化阶段308和测试执行阶段310。在图3的示例中,在测试管理阶段306中,可W安装一个 或者多个软件包(312)。接着,在测试自动化阶段308中,可W创建用于测试web应用的一 个或者多个测试场景和脚本(314)。可W例如使用浏览器自动化工具(例如,图2中的浏 览器自动化模块204)来开发测试自动化脚本(316)。测试自动化脚本可W经历可操作性 测试(318)和进一步的开发(316),直至确定测试自动化脚本工作。接着,在测试执行阶段 310中,可W执行工作测试自动化脚本(320)。运可W设及控制测试系统(例如,图2中的 系统200或者图1中的系统118)的各种操作W测试web应用。一旦测试场景完成(322), 系统就可W输出测试的结果(324)并且基于测试结果签退测试场景(326)。
[0063] 系统可W提供关于测试结果的各种类型的输出328。例如,系统可W例如基于测 试结果是否满足至少一个用户指定的性能标准输出通过/失败测试结果。在一些实现方式 中,系统可W提供显示操作web应用的结果的相关网页的屏幕截图。
[0064] 基于来自测试的测试结果和/或其他输出,测试系统可W确定报告格式并且根据 确定的报告格式生成文档(例如,HTML文档)W提供用于用户的、概括测试web应用的结 果的报告。报告可W通过任何适当技术(例如,通过在显示单元上显示、发电邮、打印或者 其他适当输出)提供给任何适当用户。
[00化]图4至图6图示了执行web应用的自动化测试的示例。图4至图6中的示例过程 可W由web应用测试系统(例如,图1中的系统118或者图2中的系统200)执行。
[0066] 现在参照图4和执行web应用的自动化测试的示例过程400,测试系统接收待测 试的web应用(402)并且还接收包括用于测试web应用的多个由用户指定指令的测试脚 本(404)。系统将多个用户指定的指令转换成包括两个不同类型的命令的多个命令(406)。 第一类型命令可由浏览器自动化模块(例如,图2中的浏览器自动化模块204)执行W控制 web浏览器的操作。第二类型命令不可由浏览器自动化模块204执行而待之W由web应用 测试模块本身处置。在一些实现方式中,多个命令(包括第一类型命令和第二类型命令二 者)中的命令的总数超过测试脚本中的由用户指定的指令的数目。
[0067] 测试系统然后在web应用在web浏览器上执行之时执行从测试脚本生成的多个命 令(408)。测试系统因此能够测试web应用。特别地,测试系统通过向浏览器自动化模块 (例如,图2中的浏览器自动化模块204)提供第一类型的命令W控制web浏览器的操作来 执行多个命令(410)。测试系统还执行第二类型的命令W控制至少一个计算机的不能由浏 览器自动化模块204控制的操作(412)。尽管图4中的示例例示了第二类型命令的执行在 第一类型命令的执行之后出现,但是可w按照任何适当顺序执行(或者按照相互混合顺序 执行)两个类型的命令。
[0068] 基于执行第一命令和第二命令,测试系统然后可W至少部分基于执行第一类型命 令和第二类型命令来输出报告(414)。另外,尽管图4的示例例示了当在测试期间执行命令 之前基于测试脚本生成命令,但是测试系统可W在任何时间(比如在测试期间)从测试脚 本生成命令。例如,在一些实现方式中,一个或者多个命令可W在测试期间由web应用测试 模块202动态地生成,而不是初始地基于测试脚本被一次全部生成。测试模块202对测试 命令的动态生成可W用来在用户定义的测试脚本中实施条件转移,其中未来测试命令基于 执行先前测试命令的结果。
[0069] 现在参照图5,测试系统可W确定一个或者多个用户指定的参数巧00)。虽然图5 中的示例例示了运一确定在接收测试脚本之后并且在将测试脚本转换成第一类型命令和 第二类型命令之前出现,但是测试系统可W在任何适当时间确定用户指定的参数(例如, 作为在接收测试脚本之前的初始步骤、在将测试脚本转换成第一命令和第二命令之后、在 测试的执行期间等)。
[0070] 在图5的示例中,测试系统向浏览器自动化模块(例如,图2中的浏览器自动化模 块204)提供一个或者多个用户指定的参数与第一类型命令,并且由浏览器自动化模块204 执行第一类型命令W基于一个或者多个用户指定的参数控制web浏览器的操作巧02)。附 加地,在一些实现方式中,测试系统可W在第二类型命令的执行期间使用用户定义的参数 W控制计算机的不可由浏览器自动化模块204控制的操作。用户指定的参数可W按照任何 适当方式由测试系统利用W使得用户能够定制对web应用的测试。
[0071] 图6示出了由浏览器自动化模块(例如,图2中的浏览器自动化模块204)执行第 一类型命令W及浏览器自动化模块204不能执行的第二类型命令的附加细节。在运一示例 中,在第一类型命令由浏览器自动化模块204执行之后,web应用测试模块(例如,图2中 的web应用测试模块202)确定由浏览器自动化模块204执行至少一个第一类型命令的结 果化00)。运一结果可W例如包括确定用户指定的文本串是否出现在网页的内容中,或者确 定用于加载网页的内容的延迟是否超过了用户指定的阔值,或者来自由浏览器自动化模块 204执行web浏览器的操作的其他适当结果。
[0072] 基于运一结果,web应用测试模块202可W基于由浏览器自动化模块204执行至 少一个第一类型命令的结果执行至少一个第二类型命令化02)。例如,由web应用测试模 块202执行的第二命令可W包括捕获在已经由浏览器自动化模块204擅染的web浏览器中 显示的内容的屏幕截图、过滤网页内的内容、测量加载网页中的内容的时间延迟、在数据库 (例如,远程数据库或者本地存储器设备)中取回/存储数据等。
[0073] 测试脚本中的用户定义的指令的示例
[0074] 接着提供在由web应用模块执行的测试脚本中包括的用户定义的指令的一些具 体非限制示例。
[0075] W下示例示出了包括八个用户定义的指令的简单测试脚本。
[0076] SelectDriver. setDriver0 ;
[0077] WebAction. open ("http://www. google, com");
[0078] WebAction. fillName ("q", "Test Automation"+Keys. ENTER);
[00^79] WebAction. wait 巧000);
当前第3页1 2 3 4 5 6 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1