51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 821|回复: 1
打印 上一主题 下一主题

[原创] 页面加载比较慢如何提升测试效率?

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2022-12-8 16:31:01 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
1、遇见问题



  在进行web自动化测试的时候,经常会碰到一些加载非常慢的页面。这些页面加载之所以慢有很多种原因:

  ◆ 页面本来就有非常多资源需要加载,通常是首页;


  ◆ 页面使用了一些不是很稳定的外部依赖,比如调用了不成熟的 css 样式库和 js 库;


  ◆ 公司服务器处理能力有限;


  ◆ 开发人员的代码写得不好,等等。




2、分析问题

  如果我们想进行自动化测试,首先需要通过webdriver的get方法打开页面。

  但是因为页面加载时间过长,后面的操作无法进行,甚至直接报错, 对自动化测试的运行效率影响非常大。





当在进行实际结果获取的时候,占用了大量时间等待首页正确加载,虽然后面测试用例通过。

  但是造成了大量时间浪费,运行一个测试用例花费26.5秒。




3、解决问题


  对于一些加载比较慢的资源,在进行自动化测试的时候没有必要等到所有的元素加载完成,再进行元素定位。

  设置一个超时时间,如果页面加载超过了指定时间,手工终止页面,相当于用手点击浏览器的 X 按钮,让页面停止加载。



代码有3个点:

  1, 设置超时时间为5秒

  2, 执行driver.get(url) 时,页面加载如果不超过5秒,不会报错,超过5秒,会抛出超时异常


  3, 使用TimeoutException捕获超时异常。当超时后,执行js指定,终止页面加载。


  接下来,封装页面get方法:





修改原来的自动化脚本:



4、总结问题

  其他的代码都不需要发生变化。

  只需要在加载耗时的地方添加 IndexPage(driver).get() 让页面按照设置的超时时间加载就可以了。





新的测试时间为11.3秒, 测试效率提升将近60%。

  不说了,我得赶紧把这个解决方案整合到简历里去。










本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?(注-册)加入51Testing

x
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

本版积分规则

关闭

站长推荐上一条 /1 下一条

小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

GMT+8, 2024-11-12 01:15 , Processed in 0.066310 second(s), 24 queries .

Powered by Discuz! X3.2

© 2001-2024 Comsenz Inc.

快速回复 返回顶部 返回列表