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

文档序号:9865394阅读:324来源:国知局
基于web的应用的自动化测试的制作方法
【技术领域】
[0001] 本说明书总体上描述了用于web应用的自动化测试的系统和过程。
【背景技术】
[0002] 基于web的应用(web应用)是在因特网web浏览器中执行的软件应用。web应用 通常包括在远程服务器中存储和维持的软件代码。在用户从web浏览器访问web应用时, 用于web应用的软件代码从服务器向用户的计算机被传输并且在用户的web浏览器上被执 行。web应用经常由用户下载作为更大web文档的部分(例如,作为在网页内嵌入的软件 代码)并且通常在网页内提供动态内容,该动态内容可W改变而网页本身未被重载。按照 各种编程语言使用各种技术来实施不同web应用。在一些场景中,web应用利用在远程服 务器上执行的服务器侧软件代码(例如,活跃服务器页面(ASP)、PHP等)和由用户的web 浏览器执行的客户端侧软件代码(例如,超文本标记语言(HTML) JavaScript、层叠样式表 (CS巧、Flash插件、Java小应用程序等)的组合。在运样的场景中,客户端侧软件通常实现 信息的前端呈现并且经由用户的web浏览器与用户交互,而服务器侧软件通常实现信息的 后端存储和取回。web应用在多种不同类型的网页中用来使得用户除了查看网页上的静态 内容之外还能够与网页动态地交互。

【发明内容】

[0003] 在一个方面中,一种计算机实施的方法由至少一个计算机执行,并且该方法包括 接收待测试的web应用W及接收包括用于测试web应用的多个用户指定的指令的测试脚 本。该方法还包括将来自测试脚本的多个用户指定的指令转换成多个命令,运多个命令包 括可由浏览器自动化模块执行的、用于控制web浏览器的操作的第一类型命令和不可由浏 览器自动化模块执行的第二类型的命令。多个命令中的命令的数目超过测试脚本中的指令 的数目。该方法还包括在web应用在web浏览器上执行之时执行多个命令。执行多个命令 包括向浏览器自动化模块提供第一类型命令W控制web浏览器的操作W及执行第二类型 命令W控制至少一个计算机的无法由浏览器自动化模块控制的操作。该方法还包括至少基 于执行第一类型命令和第二类型命令输出报告。
[0004] 实现方式可W包括W下特征中的一个或者多个特征。在一些实现方式中,将来自 测试脚本的多个用户指定的指令转换成多个命令包括将来自测试脚本的单个用户指定的 指令扩展成至少一个第一类型命令和至少一个第二类型命令。 阳〇化]在一些实现方式中,执行多个命令包括执行命令序列,包括相互混合多个第一类 型命令与多个第二类型命令。
[0006] 在一些实现方式中,该方法还包括确定一个或者多个用户指定的参数,向浏览器 自动化模块提供一个或者多个用户指定的参数与第一类型命令,并且由浏览器自动化模块 执行第一类型命令W基于一个或者多个用户指定的参数控制web浏览器的操作。
[0007] 在一些实现方式中,由浏览器自动化模块执行第一类型命令W控制web浏览器的 操作包括W下各项中的至少一项:打开新web浏览器窗口、导航到不同网页或者操作网页 中的交互部件。
[0008] 在一些实现方式中,由浏览器自动化模块执行第一类型命令W控制web浏览器的 操作包括将第一类型命令转换成web浏览器原生的、并且执行web浏览器的操作的命令。
[0009] 在一些实现方式中,第一类型的命令按照与web浏览器原生的命令的编程语言不 同的第一编程语言。
[0010] 在一些实现方式中,web浏览器原生的命令包括使用用于web浏览器的软件驱动 对web浏览器的直接调用。
[0011] 在一些实现方式中,执行第二类型命令包括执行第二类型命令而未利用浏览器自 动化模块,W及通过执行第二类型命令而被控制的操作包括W下各项中的至少一项:选择 用于web浏览器的软件驱动、取回在网页的元素中包含的数据或者取得网页的屏幕截图。
[0012] 在一些实现方式中,该方法还包括确定由浏览器自动化模块执行至少一个第一类 型命令的结果,其中执行第二类型命令包括基于由浏览器自动化模块执行至少一个第一类 型的命令结果执行至少一个第二类型命令。
[0013] 在一些实现方式中,基于由浏览器自动化模块执行至少一个第一类型命令的结果 执行至少一个第二类型命令包括:比较执行至少一个第一类型命令的结果与用户指定的条 件;W及基于比较结果与用户指定的条件执行至少一个第二类型命令。
[0014] 在一些实现方式中,由浏览器自动化模块执行至少一个第一类型命令的结果包括 在网页的内容中或者在网页的U化中包括的文本,并且其中比较结果与用户指定的条件包 括比较文本与用户指定的文本串。
[0015] 在一些实现方式中,由浏览器自动化模块执行至少一个第一类型命令的结果包括 在web浏览器中加载网页的内容的测量的时间延迟,并且其中比较输出与用户指定的条件 包括比较测量的时间延迟与用户指定的阔值。
[0016] 在一些实现方式中,基于比较由浏览器自动化模块执行至少一个第一类型命令与 用户指定的条件的结果执行至少一个第二类型命令包括基于确定加载网页的内容的测量 的时间延迟大于用户指定的阔值,确定网页的内容的一部分是否已经加载。
[0017] 在一些实现方式中,该方法还包括操作至少一个计算机的通信部件W从位于至少 一个计算机外部的数据库中的存储器部件访问用户指定的条件。
[0018] 在一些实现方式中,可由浏览器自动化模块执行的第一类型命令和不可由浏览器 自动化模块执行的第二类型命令均按照相同编程语言被编写。
[0019] 在一些实现方式中,该方法还包括基于执行web应用的自动化测试的结果确定 web应用是否满足至少一个用户指定的性能标准。
[0020] 在一些实现方式中,基于执行web应用的自动化测试的结果输出报告包括:至少 基于至少一个第二类型命令确定报告格式;W及根据确定的报告格式生成HTML文档。
[0021] 贯穿本申请描述的特征的所有或者部分特征可W被实施为一种用计算机程序编 码的计算机存储介质,该计算机程序包括可由一个或者多个处理器执行的指令。贯穿本申 请描述的特征的所有或者部分特征可W被实施为一种可W包括一个或者多个处理设备和 用于存储用于实施陈述的功能的可执行指令的存储器的装置、方法或者电子系统。
[0022] 在附图和W下描述中阐述一个或者多个实现方式的细节。其他特征将从描述和附 图w及从权利要求中变清楚。
【附图说明】
[0023] 图1是图示了可W执行本公开内容的实现方式的系统的示例的框图;
[0024] 图2是图示了执行web应用的自动化测试的系统的部件的示例的框图; 阳025] 图3是图示了执行自动化测试web应用的示例的略图;W及
[002引图4至图6是图示执行web应用的自动化测试的示例的流程图。
[0027] 在下文中,将参照附图给出对示例的具体描述。应当理解,可W做出对示例的各种 修改。特别地,一个示例的单元可W在其他示例中被组合和使用W形成新示例。各种附图 中的相似标号指示相似单元。
【具体实施方式】
[0028] web应用通常被设计为在许多不同类型的使用场景之下操作,运些不同类型的使 用场景包括其中擅染web应用的不同类型的网页、不同类型的web浏览器、不同用户导航行 为和不同类型的计算设备。在特定使用场景之下未能恰当地操作的web应用可能不仅影响 web应用本身,而且还影响在主控web应用的周围网页中的内容。测试web应用的过程通常 是设及测试许多不同场景和模拟许多不同用户行为的复杂过程。
[0029] 根据本公开内容的系统实现了对在web浏览器上运行的web应用的自动化测试。 在一些实现方式中,系统使得用户能够使用比原本可能的指令集更简单的指令集来对web 应用执行更全面的测试。系统可W使得用户能够使用简单指令W执行复杂测试操作。在一 些实现方式中,系统也可W有助于使用参数化W定制测试操作。系统可W提供使得用户能 够对web应用的测试执行多种测试的逻辑测试功能。基于测试的结果,系统可W提供可定 制报告。例如,系统可W在报告中提供屏幕截图或者其他类型的数据。
[0030] 在一些实现方式中,系统包括控制web浏览器和计算系统的其他部件W测试web 应用的操作的web应用测试模块。web应用测试模块在一些实现方式中可W将用户输入的 指令转换成控制web浏览器W及测试系统的用来执行web应用的其他部件的更复杂低级命 令。运样,web应用测试模块可W提供用于测试web应用的统一、全面和易用的框架。
[0031] 在一些实现方式中,web应用测试模块可W利用浏览器自动化模块。浏览器自动 化模块可W在网页中对用户的动作进行自动化。例如,浏览器自动化模块可W使得用户能 够指定命令集并且可W基于命令控制对web浏览器的一系列操作,比如加载特定网页、填 写网页上的表(例如,文本框)、点击按钮等。
[0032] 然而,可W限制浏览器自动化模块。例如,在一些情况下,浏览器自动化模块可能 不能执行由测试场景指定的更高级的操作。运样的操作例如可W包括高级功能,比如比较 网页内的文本与用户指定的文本串、测量用于加载网页的时间延迟、取得网页的屏幕截图、 与远程数据库连接W存储/取回信息等。在运样的情况下,可W要求实施测试场景的用户 直接地控制测试系统的部件W执行运样的操作,运可W需要为了与那些部件对接而需要的 特定编程语言的知识。
[0033] 运样的困难可W由web应用测试模块克服,该web应用测试模块提供更全面的测 试环境W不仅控制web浏览器的可W由浏览器自动化模块操作的那些操作,而且还控制参 与对web应用进行测试的测试系统的其他操作。web应用测试模块可W在允许用户执行比 单独使用浏览器自动化模块而原本可能的对web应用的更全面的测试的单个统一框架之 下与web浏览器自动化模块的功能一起提供运一附加功能。
[0034] 例如,web应用测试模块可W接收包含用户指定的指令的测试脚本作为输入。web 应用测试模块可W将测试脚本转换成一系列命令W控制测试系统的各种部件的操作。将用 户指定的测试脚本转换成一系列命令可W完全地出现在执行命令之前或者可W至少部分 地出现在执行命令中的一些命令期间。在一些实现方式中,一系列命令可W包括可W按照 特定顺序相互混合的两个不同类型的命令。系统可W通过向浏览器自动化模块提供第一类 型的命令W控制web浏览器并且执行第二类型的命令W控制未被浏览器自动化模块控制 的部件(例如,非浏览器部件)的操作,来按照指定的顺序
当前第1页1 2 3 4 5 6 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1