新的SeleniumIDE为许多IT专业人员,尤其是前端开发人员带来了功能测试自动化的好处。关于新的SeleniumIDE,开发人员应了解以下九件事。1、SeleniumIDE跨浏览器2006年录制回放工具出来的时候,Firefox就支持了,十年了。SeleniumIDE现在可以作为GoogleChrome扩展和Firefox附加组件使用。更好的是,SeleniumIDE可以使用SeleniumIDE的新命令行测试运行程序SIDERunner在SeleniumWebDriver服务器上运行测试。SIDERunner混合了SeleniumIDE和SeleniumWebdriver的元素。它采用SeleniumIDE脚本,将其保存为.side文件,并使用浏览器驱动程序(例如ChromeDriver、EdgeDriver、适用于Firefox的Geckodriver、IEDriver和SafariDriver)运行它。SIDERunner和上面的其他驱动程序可以通过简单的npm安装获得。2.不再有脆弱的功能测试脆弱的测试多年来一直是功能测试的一个问题,无论是记录它们还是手工编写它们。现在开发人员更频繁地发布新功能,他们的用户界面(UI)代码也在不断变化。当UI发生变化时,对象定位器也会发生变化。SeleniumIDE通过在录制脚本时捕获多个对象定位器来修复它。在播放期间,如果SeleniumIDE找不到定位器,它会尝试所有其他定位器,直到找到一个。只有当所有定位器都不起作用时,您的测试才会失败。这并不能保证脚本总是可以回放,但它确实可以使脚本免受大量更改的影响。如下所示,SeleniumIDE捕获linkText、xPath表达式和基于CSS的定位器。3.处理UI功能的条件逻辑在测试Web应用程序时,脚本必须处理可能随机出现在应用程序中的间歇性UI元素。它们以cookie通知、特价弹出窗口、报价请求、时事通讯订阅、付费专区通知、广告拦截器请求等形式出现。条件逻辑是处理这些间歇性UI功能的好方法。开发人员可以轻松地将条件逻辑(也称为控制流)插入到SeleniumIDE脚本中。4.嵌入式代码支持尽管新的SeleniumIDEAPI非常广泛,但它并不能做所有事情。因此,SeleniumIDE具有ExecuteScript和ExecuteAsynchronousScript命令,允许您的脚本调用JavaScript代码片段。这为开发人员提供了极大的灵活性,可以充分利用JavaScript的灵活性和广泛的库。要使用它,请单击要运行JavaScript的测试步骤,选择插入新命令,然后在命令字段中输入执行脚本或执行异步脚本,如下所示。5.SeleniumIDE从CI构建脚本运行因为SIDERunner是从命令行调用的,所以只要CI服务器可以调用selenium-ide-runner并将.side文件(测试脚本)作为构建工件上传,它就可以轻松地进入CI构建脚本。例如,这里是如何在Jenkins、Travis和CircleCI中上传输入文件。这意味着SeleniumIDE可以更好的融入软件开发技术栈。此外,由技术含量较低的QA团队成员(包括业务分析师)创建的脚本可以在每次构建时运行。这有助于更好地使QA与开发人员保持一致,从而减少进入生产环境的错误。6.支持第三方插件想象一下,一家构建插件的公司可以让SeleniumIDE做各种各样的事情,比如将脚本上传到功能测试云、负载测试云或生产应用程序监控服务。许多公司已经将SeleniumWebdriver集成到他们的产品中,将来SeleniumIDE也可能会出现同样的情况。也可以构建您自己的SeleniumIDE插件。7.视觉UI测试说到新插件,Applitools推出了一个新的SeleniumIDE插件,用于添加AI驱动的视觉验证。通过Chrome和Firefox商店安装三秒钟即可获得,只需插入您的ApplitoolsAPI密钥。视觉检查点是确保UI正确呈现的好方法。而不是所有UI元素上的一堆断言语句。很难为所有页面元素维护一个可视检查点。最重要的是,视觉AI以与人类相同的方式看待Web应用程序,忽略细小的差异。这意味着让开发团队受挫的假错误更少。8.可视化测试响应式Web应用程序在测试响应式Web应用程序的可视化布局时,请在各种屏幕尺寸(也称为视口)上进行测试,以确保没有任何问题。在SeleniumIDE中使用可视化UI测试时,您可以在ApplitoolsVisualGrid上可视化地测试您的网页,其中包含100多种浏览器、模拟设备和视口大小的组合。在VisualGrid上运行测试后,开发人员可以轻松检查所有不同组合的测试结果。9、响应式webbug无处遁形SeleniumIDE可以帮助查明前端错误的原因。使用可视网格运行的每个SeleniumIDE脚本都可以使用Applitools的根本原因分析进行分析。发现错误已经不够了,开发人员还需要修复它。当发现视觉错误时,可以单击它以仅显示相关(而非全部)文档对象模型(DOM)和CSS差异。总之,就像软件开发中的许多新兴技术一样,SeleniumIDE旨在让技术专业人员的生活更轻松,使他们能够花更多的时间和精力来创建代码以获得更快的反馈。
