gpt4 book ai didi

java - 尝试了解 Selenium 及其各种成分

转载 作者:行者123 更新时间:2023-12-01 15:19:02 24 4
gpt4 key购买 nike

对于集成测试,我想使用 selenium,也可以用于我的 TDD/BDD 工作流程,也可以用于我的远程构建服务器来运行测试等。

为此我需要什么组件?

我知道有一个浏览器插件,但那是为了帮助引导代码(您可以导出代码,然后根据需要进行调整)。

我发现在启动浏览器时在本地运行测试很慢,有没有办法在不打开浏览器的情况下执行此操作?

这在构建服务器上如何工作,是否有 headless 模式?

有人可以概述一下各种 Selenium 工具以及它们如何组合在一起以及它们在开发周期中的使用位置吗?

例如我看到 selenium 驱动程序、selenium rc、浏览器插件等。

我想将它用于 Rails 和 Java。

最佳答案

我从未尝试过使用 Java 来使用 Selenium,只使用过 Ruby,但是您的交互应该是类似的。我不认为 Selenium 有 headless 模式,你必须使用不同的驱动程序。对于 ruby ,有 capybara-webkit ,例如,它运行基于 headless webkit 的浏览器。

我可以根据我自己的经验告诉你,我们在使用 headless 浏览器的 CI(构建服务器)上遇到了很多问题,因此我们最终切换回在 Xvfb 之上运行的 Selenium 和 Google Chrome。 ,这是一种 UNIX 虚拟屏幕管理器,可让您在 headless 环境中运行图形应用程序。大多数问题都与 webkit headless 浏览器和实际驱动程序之间的行为不一致有关。但是,根据您的应用程序的外观以及您将如何驱动它,它可能适合您,您应该尝试一下。

因此,您唯一需要的组件是 Selenium 服务器(驱动浏览器)和客户端(将命令发送到服务器)。他们有 java 和 ruby​​ 客户端,因此您可以选择您喜欢的语言。

这确实是一个缓慢的过程,而且非常不稳定,因为有时由于超时、第 3 方 API 关闭等原因,您的测试可能会无缘无故地失败。有很多事情可能会出错并导致您的集成测试失败。

无论如何,它仍然是一个非常宝贵的工具,你绝对应该使用它。请注意,您不应该完全依赖这些类型的测试来确保应用程序的质量,但是,这些测试应该只测试系统的较小部分。单元和组件测试应构成测试套件的大部分。

希望这有助于澄清您的问题。

关于java - 尝试了解 Selenium 及其各种成分,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11233205/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com