《Web测试囧事》——1.11 IE 9不支持占位符导致搜索行为异常

简介:

本节书摘来自华章计算机《Web测试囧事》一书中的第1章,第1.11节,作者 黄勇 雷辉 徐潇 杨雪敏,更多章节内容可以访问云栖社区“华章计算机”公众号查看。

1.11 IE 9不支持占位符导致搜索行为异常

对于浏览器兼容性测试,一直都是Web测试中重要的一环,小蔡在测试产品中自然也不能漏掉。

由于小蔡测试的产品是面向普通用户的,所以小蔡选择进行测试的浏览器,也是开发团队选择优先支持的浏览器,是基于市场占有率最高的几款浏览器:Chrome、Firefox、Safari和IE。这些浏览器的版本也很多,如果全部支持也是不可能的,所以开发团队选择支持最新版本的Chrome、Firefox和Safari,以及IE 9~IE 11,还有IE EDGE。

Chrome和Safari都是基于WebKit核心的,所以差别不大。Firefox虽然基于Gecko,但是对于绝大多数Web标准协议都是支持的,所以和Chrome及Safari的差别也很小。IE因为使用的是微软自己的内核,所以和其他浏览器的差别会大不少,尤其是版本较早的IE 9~IE 11,不过微软在IE EDGE上已经开始兼容WebKit,并且兼容最新的Web标准协议,所以和其他浏览器的差别也不大了。

小蔡根据搜集到的这些浏览器差异的信息,决定兼容性测试的重点放在测试Chrome和IE 9两个浏览器上面。

由于产品是大型购物网站,所以用户需要使用搜索特定商品来查看商品详细信息。而在搜索框中,业务方希望推广一些畅销产品,所以使用了占位符(Placeholder)的方式,使用户在点击搜索框之前,在搜索框的搜索关键字部分,看到的是通过占位符设置的推广产品的信息。

小蔡在执行浏览器兼容性测试时发现,由于添加了占位符,导致Chrome和IE 9浏览器上搜索功能的行为不一致(见图1-22)。

image

这就导致用户在两个浏览器上使用相同的操作步骤进行搜索时的搜索结果不一致。想要解决这个问题,用户只有一个一个字符地删除IE 9浏览器中搜索框里的占位符,这对用户来说并不友好。

经过开发人员调查发现,这个问题的原因是IE 9浏览器本身就不支持占位符,所以对于占位符的操作也是有问题的。开发人员只好对IE 9上的搜索框单独处理,给搜索框先添加一组灰色的默认文字,来展示畅销商品,等用户点击搜索框时再清除这些字符。

小蔡庆幸IE 9是支持的最低版本的IE,如果需要再兼容IE 6~IE 8,那浏览器之间的差异更多更复杂,也会让开发和测试工作的难度加大不少。同时她决定定期查看用户的浏览器使用率和使用量,等大量用户不再使用IE 9时,就可以不用再做现在这种针对特定浏览器编写代码和测试某项功能了。

image

相关文章
|
5天前
|
前端开发 机器人 测试技术
【RF案例】Web自动化测试弹窗处理
在进行Web自动化测试时,常会遇到不同类型的弹窗,如ajax、iframe、新窗口及alert/Confirm等。这些弹窗可通过Selenium进行定位与处理。其中,ajax弹窗直接定位处理;iframe需先选中再操作;新窗口类似iframe处理;而alert/Confirm则需特殊方法应对。在Robot Framework中,需先定义并获取窗口后使用特定关键字处理。此外,还有部分div弹窗需在消失前快速定位。希望本文能帮助大家更好地处理各类弹窗。
16 6
【RF案例】Web自动化测试弹窗处理
|
19天前
|
测试技术
基于LangChain手工测试用例转Web自动化测试生成工具
该方案探索了利用大模型自动生成Web自动化测试用例的方法,替代传统的手动编写或录制方式。通过清晰定义功能测试步骤,结合LangChain的Agent和工具包,实现了从功能测试到自动化测试的转换,极大提升了效率。不仅减少了人工干预,还提高了测试用例的可维护性和实用性。
29 4
|
27天前
|
安全 应用服务中间件 网络安全
Python 渗透测试:漏洞的批量搜索与利用.(GlassFish 任意文件读取)
Python 渗透测试:漏洞的批量搜索与利用.(GlassFish 任意文件读取)
30 11
|
18天前
|
Web App开发 测试技术 API
自动化测试之美:使用Selenium和Python进行Web应用测试
【8月更文挑战第31天】在软件开发的快节奏世界中,自动化测试如同一束明灯,照亮了质量保证之路。本文将引导你通过Selenium和Python的强大组合,探索如何构建高效的Web应用测试框架。我们不仅会讨论理论,还会深入代码,从一个简单的示例开始,逐步扩展至更复杂的场景。无论你是初学者还是有经验的开发者,这篇文章都将为你提供宝贵的见解和实用的技巧。让我们一同揭开自动化测试的神秘面纱,体验它的魅力所在。
|
24天前
|
人工智能 Java 测试技术
自动化测试之美:如何用Selenium提升Web应用的质量保证
【8月更文挑战第24天】 在软件开发的海洋里,自动化测试如同一艘救生艇,帮助开发团队保持代码质量的同时,还能确保他们不会淹没在功能的迭代和bug修复中。Selenium,作为一个用于Web应用程序测试的工具,它的强大之处在于模拟真实用户操作的能力。本文将通过浅显易懂的语言和实际代码示例,引导读者理解Selenium的魅力所在,以及如何有效利用它来提升Web应用的测试效率和覆盖率。
|
4天前
|
jenkins 测试技术 持续交付
自动化测试的高效之路:如何利用Python进行Web应用测试
【9月更文挑战第13天】在软件开发的快节奏中,自动化测试是确保质量和效率的关键。本文将引导你了解如何使用Python语言及其强大的测试框架来提升Web应用的测试效率。我们将一起探索编写简洁而强大的测试脚本的技巧,以及如何通过持续集成(CI)实现自动化测试流程。准备好让你的测试工作飞一般的感觉!
|
27天前
|
监控 前端开发 Serverless
现代化 Web 应用构建问题之观测站点的PV、UV和API异常等指标如何解决
现代化 Web 应用构建问题之观测站点的PV、UV和API异常等指标如何解决
28 2
|
26天前
|
XML JavaScript 测试技术
Web自动化测试框架(基础篇)--HTML页面元素和DOM对象
本文为Web自动化测试入门指南,介绍了HTML页面元素和DOM对象的基础知识,以及如何使用Python中的Selenium WebDriver进行元素定位、操作和等待机制,旨在帮助初学者理解Web自动化测试中的关键概念和操作技巧。
34 1
|
1月前
|
Cloud Native 数据处理
项目环境测试问题之当异步任务在运行过程中抛出非预期的异常会导致后果如何解决
项目环境测试问题之当异步任务在运行过程中抛出非预期的异常会导致后果如何解决
|
17天前
|
测试技术 Java
揭秘Struts 2测试的秘密:如何打造无懈可击的Web应用?
【8月更文挑战第31天】在软件开发中,确保代码质量的关键在于全面测试。对于基于Struts 2框架的应用,结合单元测试与集成测试是一种有效的策略。单元测试聚焦于独立组件的功能验证,如Action类的执行逻辑;而集成测试则关注组件间的交互,确保框架各部分协同工作。使用JUnit进行单元测试,可通过简单示例验证Action类的返回值;利用Struts 2 Testing插件进行集成测试,则可模拟HTTP请求,确保Action方法正确处理请求并返回预期结果。这种结合测试的方法不仅提高了代码质量和可靠性,还保证了系统各部分按需协作。
9 0