机械化代表 Selenium / WebDriver 发出 post 请求?
Mechanize to make post request on behalf of Selenium / WebDriver?
因为 Selenium 可以遍历 javascript 个网站(Mechanize 不能),并且 Mechanize 可以发出 post 个请求(Selenium 不能),在某些情况下,将两者结合使用会很强大.
+Zarkonnen 对 this question 的回答表明,一开始会使用 Selenium,然后 Mechanize 会介入以发出 post 请求,然后将其传回给 Selenium。
如何将 Mechanize post 方法集成到 Selenium 中?
我正在使用这些库的 Ruby 版本,但任何信息都会有用。
编辑这是维恩图,希望能阐明我正在寻找的功能。
"Javascript website" 在这种情况下仅表示网站的相关功能在未启用 javascript 的情况下将无法运行。意思是,假设我需要遍历一个网站才能找到该网站上的一个表单。在此过程中,我 运行 进入按钮,如果没有启用 javascript,这些按钮将无法工作。然后,为了让表单按照我想要的方式工作,我必须自定义 post。在这种情况下,Selenium WebDriver 和 Mechanize 都无法自行处理 - 他们需要互相帮助。
你会如何做到这一点?当您必须执行 post 时,您会使用 Selenium 然后让 Mechanize 介入以提供帮助吗?您会使用其他方法在 Selenium 中创建 post 吗?你会用水豚gem吗?我知道 WebDrivers 发帖有一些限制,但我知道必须有一个解决方法。
这个问题有点含糊,但 Selenium (WebDriver) 和良好的非交互式 HTTP 库(如 Mechanize)都是测试人员军械库中的关键要素。
总的来说,如果你需要在交互式场景中模拟一个人,那么你无法击败WebDriver。然而,Web 是建立在 HTTP 之上的,Selenium 所做的一切都是 HTTP,因此您的场景交互性越低,您模拟真实用户的需求就越少,性能越重要,您就越应该关注 Mechanize,甚至可能较低级别的 HTTP 库。
因此,尽管这两种技术在某种意义上是 互补的 ,但我想不出有那么多充分的理由将它们用于 结合。但也许是以下内容:
- WebDriver 管理网站上的用户,Mechanize 用于查询 REST 端点以转储指标、清除缓存、运行 使用报告、启动并发请求以模拟并发。
- Mechanize 用于 seed/prepare 在 WebDriver 运行 之前测试数据。
这些都是 WebDriver 可以 用于 一切 的例子,但是使用非交互式工具。
因为 Selenium 可以遍历 javascript 个网站(Mechanize 不能),并且 Mechanize 可以发出 post 个请求(Selenium 不能),在某些情况下,将两者结合使用会很强大.
+Zarkonnen 对 this question 的回答表明,一开始会使用 Selenium,然后 Mechanize 会介入以发出 post 请求,然后将其传回给 Selenium。
如何将 Mechanize post 方法集成到 Selenium 中?
我正在使用这些库的 Ruby 版本,但任何信息都会有用。
编辑这是维恩图,希望能阐明我正在寻找的功能。
"Javascript website" 在这种情况下仅表示网站的相关功能在未启用 javascript 的情况下将无法运行。意思是,假设我需要遍历一个网站才能找到该网站上的一个表单。在此过程中,我 运行 进入按钮,如果没有启用 javascript,这些按钮将无法工作。然后,为了让表单按照我想要的方式工作,我必须自定义 post。在这种情况下,Selenium WebDriver 和 Mechanize 都无法自行处理 - 他们需要互相帮助。
你会如何做到这一点?当您必须执行 post 时,您会使用 Selenium 然后让 Mechanize 介入以提供帮助吗?您会使用其他方法在 Selenium 中创建 post 吗?你会用水豚gem吗?我知道 WebDrivers 发帖有一些限制,但我知道必须有一个解决方法。
这个问题有点含糊,但 Selenium (WebDriver) 和良好的非交互式 HTTP 库(如 Mechanize)都是测试人员军械库中的关键要素。
总的来说,如果你需要在交互式场景中模拟一个人,那么你无法击败WebDriver。然而,Web 是建立在 HTTP 之上的,Selenium 所做的一切都是 HTTP,因此您的场景交互性越低,您模拟真实用户的需求就越少,性能越重要,您就越应该关注 Mechanize,甚至可能较低级别的 HTTP 库。
因此,尽管这两种技术在某种意义上是 互补的 ,但我想不出有那么多充分的理由将它们用于 结合。但也许是以下内容:
- WebDriver 管理网站上的用户,Mechanize 用于查询 REST 端点以转储指标、清除缓存、运行 使用报告、启动并发请求以模拟并发。
- Mechanize 用于 seed/prepare 在 WebDriver 运行 之前测试数据。
这些都是 WebDriver 可以 用于 一切 的例子,但是使用非交互式工具。