珠海品牌网站建设,做网站赚取广告费,网站开发一般用什么语言,推广一般给多少钱对于很多刚入门的测试新手来说#xff0c;大家都将自动化测试作为自己职业发展的一个主要阶段。可是#xff0c;在成为一名合格的自动化测试工程师之前#xff0c;我们不仅要掌握相应的理论知识#xff0c;还要进行大量的实践#xff0c;积累足够的经验#xff0c;以便快…对于很多刚入门的测试新手来说大家都将自动化测试作为自己职业发展的一个主要阶段。可是在成为一名合格的自动化测试工程师之前我们不仅要掌握相应的理论知识还要进行大量的实践积累足够的经验以便快速适应工作需求。
今天笔者就想给大家介绍一些关于使用Selenium进行自动化测试的实战案例经验。希望对测试新手们有所帮助。 1、测试自动化与Selenium工具 首先我们要先澄清一个观点自动化测试不可能完全取代手动测试。换句话说就是自动化测试是为了减少手动运行测试用例数帮助快速测试多语言站点提高测试执行速度是为了节省手动测试带来的时间成本、计算准确性成本等而不是为了完全摆脱手动测试。因此希望测试新手们对此有一个清晰的认知。
事实上自动化测试的过程很简单你只需要执行以下步骤 下面切回正题。自2000年以来基于开源工具和应用程序的成本效益、效率、可重复性、准确性和易用性越来越被大家接受和喜爱因此使用开源工具进行自动化测试就变得越来越重要。而作为开放源代码工具之一Selenium工具简称Selenium在自动化测试方面展现了自己的极大优势。
Selenium包含IDE、RC、Webdriver和Grid等组件主要用于WEB交互和回归测试。它除了具有记录和回放功能外还能帮助我们将记录的脚本导出为其他语言包括JavaCPythonRubyJavascript和PHP等。
除此以外Selenium web driver还允许我们通过其封装好的API进行自动化脚本开发更好地辅助回归测试通过数据驱动DDT关键字驱动PO等设计模式的结合应用可以让我们的自动化脚本更具可靠性可维护性及延展性
2、使用Selenium进行跨浏览器测试 顾名思义跨浏览器测试就是在不同的Web浏览器和设备上测试Web应用程序是否能够正常使用以确保其在每个设备和浏览器上都能正常运行的一种测试。
那么我们为什么需要跨浏览器测试呢例如同一个电商页面在Chrome浏览器中能够正常显示且操作流畅但并不能确保在同一台机器上IE通常有不同版本火狐等浏览器上也能正常显示且操作顺利。这也是为什么产生跨浏览器测试的由来。
如今跨浏览器测试已成为Web应用程序测试的必需项。Selenium可以帮助我们在同一台计算机上执行包括Safari、Chrome、Firefox、IE等不同浏览器的测试用例。并且它还支持多种语言和操作系统。
3、使用Selenium进行测试的一些技巧分享 1便捷好用的定位器
Selenium web driver中封装的API给我们提供了8中定位页面元素的方式通过id或name定位通过class name或tag name定位通过link text和partial link text定位xpath定位CSS定位同时还提供了模拟页面元素操作方法键盘操作JS事件处理等一些方法来满足与浏览器交互的功能。
2可利用数据驱动做测试
Selenium还具备其他优秀特质。比如如果要为不同的输入使用相同的测试和相同的代码那么选它就对了。Selenium允许开发人员和质量检查团队进行修改因为它可以用于系统功能测试以及浏览器兼容性测试。
另外Selenium还有测试加速器可以启动客户端自动化测试。这可以大大缩减你的回归测试周期为你节约时间。 3不依赖特定的驱动程序
永远不要依赖于某一种特定的驱动程序去做自动化测试。因为不同的浏览器版本针对的驱动程序都是1-1对应的举个例子不存在这样的万能驱动程序可以兼容各个版本各个厂商提供的浏览器。
另外还可能发生不存在某种驱动程序的可能。比如并非每一个chrome版本都有与之能对应上的驱动程序这样就需要对被测浏览器进行范围上的指定有针对性地选择当前项目中必须测试的那些浏览器等。
4使用Page Objects
时下Page Object已成为了测试自动化中的最佳设计模式。因为它不仅能增强测试维护能力还能减少代码重复。此外它还是一个面向对象的类OOC可以充当被测应用程序页面的接口。
简言之Page Object是一种面向对象的设计模式它重新定义了一些内容。如下网页类别页面上的各种元素变量用户互动方法。
因此它具备以下优点
由于测试代码和页面代码是分开的。因此Page Object可以抵制微小的调调整有助于我们构建更稳固的代码框架。
服务不会通过测试分散但是该页面提供的所有服务都有一个存储库。
可靠且易于维护。
脚本是可读的且代码是可重用的还可以完全消除重复部分。
5可利用等待代替睡眠提升测试效率
Selenium具备Thread.sleep()逻辑可以利用等待代替睡眠从而提升测试效率。因为我们都知道睡眠不仅会减慢测试速度并且我们很难确定它什么时候执行完毕而等待则不同它能帮我们判断等待时长并保证测试速度从而提升我们的测试效率。
Selenium为我们提供了两类常用的等待模式显示等待和隐式等待分别用于不同的场景下两者也可以搭配着使用从而更好地辅助自动化测试。
6当时间紧迫时不要害怕破解Selenium
在工作中有时候我们会遇到时间比较紧急但工作量又比较大的情况。这种时候我们要学会灵活应对。关键时刻你可以通过入侵Selenium Webdriver来制作有效的自动化脚本。下面给大家介绍两个快捷技巧。
划重点啦
技巧1Test NG报告–屏幕快照链接
使用以下代码来链接到Test NG报告的屏幕截图。这可以让你快速获取捕获屏幕截图的超链接reporte.data(: a hrefE:\\ screenshot \\ screenshot_timestamp.png:)Click to open
技巧2检查Web元素的存在
使用下面这串代码你将可以快速检查Web对象的代码大小并确定特定Web元素的存在Driver.findElements(pass.ID(“元素-ID”)).size()!0
写在最后 实际工作中Selenium还具备很多实用的功能。如果你能充分利用Selenium就可以创建一个稳定、真实和可靠的UI自动化流程。当然前提是你得积累Selenium的各种使用技巧并经常应用他们。 今天的分享就到此结束了如果文章对你有帮助记得点赞收藏加关注。会不定期分享一些干货哦......