我目前正在使用 HtmlUnit 和 Selenium 在我的生产代码中驱动它 (WebDriver)。
我正在使用这些库以编程方式对各种网站进行 scape 和交互,并且取得了一些成功并且没有遇到内存问题(确保 session 始终被清理)。
我想知道这些库是否适合生产环境或不推荐使用。这很难通过谷歌找到,因为有大量关于自动化测试的信息,而不是我如何使用它们。
我意识到这是一个相当普遍的问题,但我正在寻求有关这些库和可能更好的替代方案的建议。
最佳答案
WebDriver 和 Selenium 非常适合生产环境。我在多机器/多数据中心分布式网格上广泛使用了 2 年,并且绝对没有我们无法应对的性能或稳定性问题。
我们首选的驱动程序是 Firefox 驱动程序(比 HTMLUnit 更重,更难配置),我们不得不调整网格以了解我们可以运行多少个实例。我们的稳定性最大值是每个核心 1
我们的 selenium/webdriver 实例现在已经 24/7 全天候运行了 2 年(1 年使用 selenium 1,其他迁移 selenium 2/WebDriver 增量)并且有适当的监控(你应该监控内存使用/CPU 使用)和一堆负载测试,我们已经达到了良好的水平,我们在没有重新启动进程的情况下经历了几个月
我们也广泛使用了 HTMLUnit,并且对这个库同样满意
我这篇文章的要点是:是的,这些库是生产就绪的。但是,与所有生产软件一样,您必须对它们的使用进行基准测试,以找到最佳稳定性的适当配置。我建议您在生产中使用 Selenium Grid,这是并行化进程的好方法
关于java - 生产中的 HtmlUnit + Selenium,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9059773/