Web自动化测试之困

简介:

标题借用《web之困》这本书名,借机吐槽一下在web自动化测试中遇到的各种不顺畅。看了这本书,大感欣慰,因为终于有专家说出了我多年想说而不好意思说的话——现在的web应用就是建立在一堆胡乱拼凑的技术基础之上的。
  从底层协议级就定义不周到渲染技术的五花八门;从古老的html、css、java applet、ActiveX到javascript、flash、sliverlight、html5;从浏览器的各显神通到眼花缭乱的版本升级;从静态到动态;从即时到异步,真是一个百家争鸣、百花齐放啊。虽说给普通用户带来了赏心悦目的享受,可真苦了我们这些测试工程师了。手工做浏览器兼容性测试都不是一般的麻烦,更别提自动化了。十几年前我每样技术都尝试去学习,后来发现我学的速度还赶不上技术新出的速度,于是我厌倦了,从此对web前端技术及其排斥。我幻想着某一天前端技术可以统一得象操作系统那样规矩和稳定。不过看来一时半会还实现不了,所以厌倦归厌倦,活还是要干的,所以几年来我也在考虑这是非做不可的。于是前一篇提到的vs2010就是一个尝试。当时考虑操作系统是ms家的、浏览器是ms家的、自动化工具是ms家的甚至C#语言也是ms家的,要是这样还不顺利,恐怕别的工具更别指望了。事实上,我还是低估了事情的复杂性。
  录制/回放遇到的麻烦随便列举一下就有这些:
  只支持ie,且不能使用64位版本
  视图缩放比例要求必须为100%
  不能识别flash插件
  各种意外(如窗口没有在最前端、没有最大化等、控件被阻止运行……)导致回放中断
  建立自动化任务时不能在后台运行(因为要在桌面环境真实启动浏览器),所以管理员必须登录。这样一来,服务器一旦重启就无法做到无人值守的继续运行
  ……
  诸如此类,总之想顺利走通一段自动化脚本可费劲了,经常是烦不胜烦
  为此我还总结出一堆录制脚本的经验,比如:
  把场景分割成每段尽量少操作的多个脚本文件
  尽量用键盘操作,少用鼠标操作
  屏幕上尽量少留无关窗口
  对于浏览器,尽量在同一个页签中操作,尽量避免弹出窗口造成主流程被干扰
  动作、脚本之间留的延时要足够,比如连续执行两条sql,就有可能第二条执行出错
  ……
  但真要把这些问题都注意到了,费的心还不如手工来一遍算了。再说费这么大事只是为了回归验证以前的功能,确实有点得不偿失。所以过后反思起来有这样一些教训:
  1.目标定位有偏差。借鉴自Apple Chow观点:只保留少数几个用来验证端到端的集成场景的高级别冒烟测试,除此之外尽可能编写底层的测试。
  2.工具不给力。当然如果有google的水平,自行探索和开发各式各样的测试工具和框架那自然是厉害了,但是没这水平啊,还是只能找现有的工具用。
  后续准备尝试selenium。说到这里,就想起有的团队成员提出经常换工具的困扰。——这个问题应该这样看:使用工具是为了解决问题,是人的思想和能力去驾驭工具而不能让工具限制了人的思想和能力。所以要去掌握事物的本质,那么换工具也会是经常和顺理成章的事情。

最新内容请见作者的GitHub页:http://qaseven.github.io/

相关文章
|
28天前
|
安全 测试技术 网络安全
如何在Python Web开发中进行安全测试?
如何在Python Web开发中进行安全测试?
|
28天前
|
安全 关系型数据库 测试技术
学习Python Web开发的安全测试需要具备哪些知识?
学习Python Web开发的安全测试需要具备哪些知识?
33 4
|
2月前
|
Web App开发 前端开发 JavaScript
探索Python科学计算的边界:利用Selenium进行Web应用性能测试与优化
【10月更文挑战第6天】随着互联网技术的发展,Web应用程序已经成为人们日常生活和工作中不可或缺的一部分。这些应用不仅需要提供丰富的功能,还必须具备良好的性能表现以保证用户体验。性能测试是确保Web应用能够快速响应用户请求并处理大量并发访问的关键步骤之一。本文将探讨如何使用Python结合Selenium来进行Web应用的性能测试,并通过实际代码示例展示如何识别瓶颈及优化应用。
136 5
|
9天前
|
Web App开发 IDE JavaScript
Selenium IDE:Web自动化测试的得力助手
Selenium IDE:Web自动化测试的利器。作为开源工具,Selenium IDE支持录制与回放用户操作,适用于Chrome、Firefox等多浏览器,简化了测试流程,提升了效率,降低了自动化测试的门槛。它还支持导出多种编程语言的脚本,便于测试集成与复用。
60 19
Selenium IDE:Web自动化测试的得力助手
|
11天前
|
Web App开发 IDE 测试技术
Selenium:强大的 Web 自动化测试工具
Selenium 是一款强大的 Web 自动化测试工具,包括 Selenium IDE、WebDriver 和 Grid 三大组件,支持多种编程语言和跨平台操作。它能有效提高测试效率,解决跨浏览器兼容性问题,进行性能测试和数据驱动测试,尽管存在学习曲线较陡、不稳定等缺点,但其优势明显,是自动化测试领域的首选工具。
89 17
Selenium:强大的 Web 自动化测试工具
|
28天前
|
监控 安全 测试技术
如何在实际项目中应用Python Web开发的安全测试知识?
如何在实际项目中应用Python Web开发的安全测试知识?
28 4
|
1月前
|
Web App开发 测试技术 数据安全/隐私保护
自动化测试的魔法:使用Python进行Web应用测试
【10月更文挑战第32天】本文将带你走进自动化测试的世界,通过Python和Selenium库的力量,展示如何轻松对Web应用进行自动化测试。我们将一起探索编写简单而强大的测试脚本的秘诀,并理解如何利用这些脚本来确保我们的软件质量。无论你是测试新手还是希望提升自动化测试技能的开发者,这篇文章都将为你打开一扇门,让你看到自动化测试不仅可行,而且充满乐趣。
|
1月前
|
Web App开发 设计模式 JavaScript
自动化测试之美:如何利用Selenium实现Web应用的高效测试
【10月更文挑战第29天】在软件开发的世界中,测试是确保产品质量的关键步骤。本文将带你了解如何使用Selenium这一强大的自动化测试工具,提高Web应用测试的效率和准确性。通过实际案例,我们将探索Selenium的核心功能及其在现代软件开发中的应用,旨在帮助读者掌握自动化测试的精髓,从而提升软件测试工作的整体效能。
44 0
|
2月前
|
安全 Linux Shell
Kali渗透测试:使用Metasploit对Web应用的攻击
Kali渗透测试:使用Metasploit对Web应用的攻击
150 4
|
2月前
|
Web App开发 Java 测试技术
一、自动化:web自动化。Selenium 入门指南:从安装到实践
一、自动化:web自动化。Selenium 入门指南:从安装到实践
55 0

热门文章

最新文章

下一篇
DataWorks