gpt4 book ai didi

ruby-on-rails - 在生产环境中运行像 Watir 这样的慢速网络驱动程序

转载 作者:数据小太阳 更新时间:2023-10-29 08:57:40 25 4
gpt4 key购买 nike

我创建了一个应用程序,它使用 Watir 来自动登录并在站点内执行一些功能。

现在它是 100% 纯用我刚刚在 irb 中执行的 ruby​​ 类编写的,但我想将它放入 Rails 应用程序中并将其放在网上。除了测试之外,我找不到太多关于使用 Capybara 或 Watir 之类的东西的信息。这是因为它们有多慢还是能力问题?

我能否运行后台进程以使用 Watir 打开浏览器并为生产环境中的每个用户执行一些功能?

我的另一个问题是如何使 session 保持更长的时间。有两个站点需要我的应用程序登录的 2FA。如果我想使用 Watir 浏览器每小时登录并执行一次功能,我可以将其创建为后台进程(如果可行的话)。但是,当该过程完成后,浏览器将关闭,当后台进程在一小时后再次运行时,它再次需要 2FA。

我的另一个担心是速度。如果我有 50 个用户都需要同时运行 Watir 浏览器,我想那会很慢。只要它们运行并收集数据并执行我们需要的少数操作,我就不太担心速度,但它会如何影响应用程序的完整性。

最佳答案

WATIR 是专门设计为测试工具的。WATIR 代表 Ruby 中的 Web 应用程序测试。它的设计以用户与浏览器交互的方式为中心,有效地模拟用户在使用网站时将采取的相同操作。对于其他任务来说,这将是次优的,这是可以预料的。由于抓取和测试具有非常相似的事件,因此有很多人使用 watir 来完成该任务,但它不是为此目的而设计的,并且 WATIR 开发人员不太可能添加特定于数据抓取和测试的功能。

对于您正在考虑的事情,您应该问问自己,您正在做的事情是否相当于将 socket Spanner 用作锤子,以及是否有更好的工具可以使用。

如果您与之交互的站点支持 API,那么这将是与它们交互以从站点获取信息的首选方式。如果不支持,您可能需要考虑查看其他可以让您请求站点 HTML 或直接解析 HTML 的 gem(例如 Nokogiri)

您还应该检查与您交互的网站的服务条款(如果您不拥有这些网站),以确保不禁止使用“机器人”或其他自动方式访问该网站。如果是这样,那么如果您的访问模式显然是自动化过程的结果,那么以您建议的方式使用 Watir 可能最终会被禁止访问该站点。

关于ruby-on-rails - 在生产环境中运行像 Watir 这样的慢速网络驱动程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46212565/

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