Selenium 项目的核心成员Diego Molina过去八年一直在测试。今天,他自豪地将 95% 的时间花在了 Selenium 项目上。他对测试社区的奉献使他在许多会议上发表演讲,包括 Selenium Conf 和 Appium Conf。您还可以定期在 IRC 或 Slack 的 Selenium 频道上找到他。
在 Testµ 会议的这个富有洞察力的会议上,他讨论了 Web 是如何发展的,为什么测试需要适应,如何使用 Selenium 和其他工具测试现代 Web 应用程序,并了解 Selenium 在当今现代测试环境中的位置。
他深入地解释了Selenium 4是如何花费三年时间开发的,其中包含超过 4000 次提交、一个新网格、一个新网站和文档以及许多新功能。根据 Diego 的说法,大多数新功能都与我们应该如何测试应用程序、计划测试等保持一致。推送了这么多内容,但我们还没有发现 Selenium 如何适应这个世界。
他强调 Selenium 是一个具有开放治理和言论自由的开源项目。它基于 W3C 标准构建,由来自 Apple、Google 和 Microsoft 等公司的不同人员提供帮助。它被视为具有影子 DOM 的双向协议。它由社区制作并为社区制作。
他谈到了这一切是如何从几乎没有交互、服务端渲染和以桌面应用程序为中心的测试的静态/有限网站开始的。测试人员依赖于手动和探索性测试。
然后,他解释了交互式应用程序是如何通过简单的内容创建、动态 HTML、使用 DOM 操作和 iQuery 的客户端呈现以及 QTP(UTF-统一功能测试)而很快出现的。他谈到了第一代 Selenium 是如何在此期间推出的。
然后是Web 框架时代,您可以更快地进行不同级别的测试。这包括:
模型视图控制器 - 在 Web 应用程序中拆分职责。
API - 处理业务逻辑和流程并发送回处理后的信息。
Ember 和 Angular 等框架。有了这三个选项,当您想在不同级别进行测试时,测试变得更易于管理。您不必依赖于每个代码都在一个地方的单个单体。
Diego Molina 谈到E2E 测试工具并非市场上唯一可用的选项。他觉得当你想要执行不同的测试时使用单一工具效率不高,无论是API 测试、浏览器测试还是组件测试。
他还认为,对于成功的策略,您可能需要依赖成功的方法。例如,您需要通过功能测试获得快速反馈,并根据需要添加不同的层。
他举例说明了 Selenium 如何适应当今的测试世界。他展示了如何通过演示、逻辑和服务测试完成单个测试。问题是当测试失败时很难知道错误在哪里,无论是服务层还是逻辑层。他谈到了他的测试人员朋友如何喜欢服务盒方法,在这种方法中,您无需启动整个 API 服务即可运行 Web 应用程序并正确测试。在这些情况下,您可以在不运行 API 的情况下测试表示层和逻辑层。其中一种类型可能是集成测试。
为了在前端开发人员和后端开发人员之间带来和谐,他说他们是如何开始创建模拟以专注于测试 Web 应用程序的。他表达了 Selenium、WebdriverIO、Nightwatch JS和任何基于 WebDriver 的工具如何成为端到端和集成测试的绝佳选择。
他继续解释了如何通过 React 框架使用模拟数据,因为您拥有包含逻辑的组件,允许您在不部署应用程序的情况下测试它们。
在询问我们在单元测试和 API 测试之间编写了多少测试时,他补充说Selenium Grid中大约有 150 个测试。他还分享了一个好消息,即我们必须测试 Selenium Grid UI 的测试数量只有三个。
首先是检查节点是否已经注册第二个是显示会话可用。第三个显示会话已从 UI 结束。
因此,您不需要任何逻辑来执行组件或集成级别的测试。然后,他提供了一个演示,向我们展示了如何在 Visual ToDo 应用程序中使用 Selenium 4 进行基本身份验证。
他在演示中谈到了一个名为相对定位器的有趣功能。他为使用相对定位器的每个人提供了一个机会,让他们可以加入他的 Slack 频道并创建一个 GitHub 请求。
他开始描述网络拦截。它背后的主要概念是它允许您操纵浏览器和 Web 应用程序后端之间的网络通信。
他进一步强调了 Selenium 如何与浏览器和测试工具工作组 W3C 紧密合作。目前正在开发WebDriver Bi-Di协议。
然后他开始谈论 Chrome 调试协议 (CDP)。他解释了它通常如何连接到特定版本的 Chrome。因此,如果有重大更改,您需要知道代码可能会失败。因此,他要求你小心。
他在谈到未来时提到的常见功能之一是浏览器管理器。
他说“在 Selenium 内部,将有一个组件来计算浏览器驱动程序。从长远来看,如果你没有浏览器驱动程序,你可以下载它,”。
他以希望将 WebDriver 社区团结在一起的愿望结束了演讲。他也觉得 WebDriver 远不止 Selenium。如果我们认为 Selenium 还不够,他建议使用不同的项目。
我们的主持人 Manoj Kumar 向他提出了两个重要问题。以下是他的回答:
是否有计划将 Selenium 纳入 API 测试?
Diego:不。在 Selenium 内部,我们不会进行任何 API 测试。但是您始终可以针对不同的用例组合工具。
我有一个测试,最近在使用数据测试 ID 作为选择器时找不到元素,但能够使用类找到它。知道为什么会发生这种情况吗?
Diego:带有数据测试 ID 的选择器可能不正确。由于它可以相互配合,因此另一个可能不正确。如果你去 Selenium.dev 支持,你会发现 Slack 频道。您可以分享您的代码并提出所需的问题。
未来 Selenium 网格会有什么变化吗?
Diego:电网正在发展。有一个动态网格可以自动放大。我们正在努力寻找一种在 Kubernetes 中进行设置的方法。我们也在考虑允许人们下载文件。我们还在考虑将结果推送到一些数据存储中,例如会话的视频、日志和元数据。
卓码软件测评是一家[ 具备CMA、CNAS双重资质 ]的专业做软件测试的第三方软件测试服务机构, 可根据您的需求提供各类软件测试服务,并出具合格有效的软件测试报告。点击→→可了解测试报价
部分文字、图片来自网络,如涉及侵权,请及时与我们联系,我们会在第一时间删除或处理侵权内容。负责人:曾菲 电话:4006070568