Python 将Selenium网络请求输出为 excel

发表于:2020-3-26 11:35

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

 作者:泰斯特v    来源:思否

分享:
  背景
  虽然有许多新的 UI 自动化测试框架涌现。但 Selenium 作为 UI 测试的老牌框架,它依然是自动化测试人员学习清单中必不可少的一项。而随着 Selenium 的流行,许多需求已不能用原生的库满足,于是许多插件库应景而生。
  我们能通过 Selenium 操作浏览器页面中的元素,但如果想通过 Selenium 进行页面性能分析,那就需要拿到浏览器操作过程中所有的网络请求信息了。虽然原生 Selenium 也支持部分性能日志记录,但经过实践后发现其仍然有不少缺陷。而 browsermob-proxy 恰好能优雅地解决这个问题。
  赏金任务
  这个任务是要将现有框架驱动的 UI 测试过程中所有的网络请求记录下来,最后将数据进行整理后输出到 Excel 表格中。
  预估赏金:约 1500 人民币。
  任务拆解
  一般在开始工作前需要将任务进行拆解,划分成数个小任务。而这个任务,基本可以划分为以下三步:
  1.学习 browsermob-proxy 的使用;
  2.将 browsermob-proxy 与现有测试框架集成;
  3.将获得的网络数据输出到 Excel 表格中。
  任务回顾
  任务实际耗时在 10 个小时左右。
  实践过后,发现最消耗时间与精力的其实是第二步。这是因为现有框架的体系已经非常复杂,对于自己没有接触过的模块来说,即使是一次代码小改动也非常有可能创造一场大灾难。所以想要找个合适的位置与方式插入新功能并不是一件轻松的事。
  整个任务进行过程中其实也出了不少意外:调试时发现某些情况下获取的网络数据为空、browsermob-proxy 服务启动与创建网络代理间断调用而导致的冲突、某些浏览器版本与 browsermob-proxy 并不兼容等。
  所以说编程也如人生一般,成长的道路中总是需要不停地发现问题、解决问题。
  但在解决完最后一个问题后,终于可以松口气。总的来说,收获还是挺大的:不仅体验到了二次开发的艰难,也感受到了学习的乐趣。

      本文内容不用于商业目的,如涉及知识产权问题,请权利人联系博为峰小编(021-64471599-8017),我们将立即处理
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

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

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

沪ICP备05003035号

沪公网安备 31010102002173号