用Selenium WebDriver+Grid2实现浏览器端性能测试

发表于:2014-7-09 10:19

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:陈湘文    来源:51Testing软件测试网采编

  清单 3. 将 TestNG 加载在已有的 Selenium 测试脚本
  @Test
  @Parameters({"seleniumHost", "seleniumPort", "bs"})
  public void sitenav(String Host,String Port,String browser)
  TestNG 要求将所有要运行的测试用例都记录在一个叫 testng.xml 的文件中,然后根据该文件中的测试用例顺序依次执行测试。通过 suit 标签的属性可以指定 method、tests 或是 classes 的并发执行。我们在 testng.xml 中将测试的并行粒度设为 Test, 用参数传入不同的 IP 地址、端口号、浏览器名称,形成不同的测试案例,以便在不同节点上的不同浏览器中并行执行。
  清单 4. testng.xml 中有关并行测试案例的配置
  最后用 Ant 从命令行运行 TestNG 类。用户通过命令行启动 Ant,读取目标文件 build.xml 来获得项目的参数,例如目标定义、类路径、引入的文件等。Ant 通过读取 TestNG 的配置文件 testng.xml 来获取参数,将 Java 代码编译成 TestNG 类,并且根据配置文件中传入的参数和顺序来执行这些类。以下是在 Ant 的 build.xml 里面如何正确配置 TestNG。
  清单 5. Build.xml 里配置 TestNG
  应用示例
  IBM Connections 3 是 IBM 专门为满足企业业务需求而设计的一款社交软件。我们用它作为目标程序来测试其浏览器端的性能。用 Selenium WebDriver 编写脚本模拟用户依次浏览主页、登陆、个人资料、博客等主要页面。我们将同样的脚本在不同网络环境、不同操作系统、不同浏览器中并行执行,并且记录页面的响应时间,完整下载时间,对不同浏览器,不同网络条件下的页面响应时间加以比较。测试过程如下:
  选取几台测试机作为测试节点,测试机器上具有我们所需要的操作系统、浏览器类型、测试分析工具,选取一台测试机作为 Hub。配置和启动 Hub 和测试节点。
  准备不同类型的测试案例 Test1.....TestN。根据操作系统、浏览器和所需的测试工具,在 testng.xml 中将测试脚本分配给相对应的测试节点 Node1.......NodeN 形成不同的测试案例。图 2 是测试节点配置和测试案例的分布图。
  编辑 build.xml 文件。执行 ant 命令。通过网页观察 Hub 的状态和测试节点的执行情况。
  测试执行完,从各节点和 Hub 上收集测试数据加以整理和分析。
  测试数据从几个方面获得。有关测试环境的数据将会直接从配置文件获取,简单的页面响应时间会由 Selenium 脚本获取。浏览器响应时间分解和网页分析数据将会由 HTTPWACTH 等辅助测试工具获得。图 3 是由部分测试数据经过汇总整理后形成的表格。从表格中可以看到同一个页面请求在不同配置的测试机上的响应时间,如果该机器加载了性能分析工具,还可以通过抓取 HTTPWACTH 分析结果进一步得到响应时间分解。
  小结
  利用 Selenium WebDriver 和 Grid2 可以将已有的自动化测试脚本为性能测试服务,并发、自动地执行测试案例节省了时间和人力,使测试人员能够将精力集中在数据分析和性能调优上。灵活的配置测试环境,包括网络环境、操作系统和浏览器类型,可以在短时间内得出不同情况下目标程序的客户端性能数据,方便比较和发现问题。
33/3<123
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号