所以,基本上我使用 selenium 来自动测试一个 web 应用程序。
- 我正在使用从 Selenium IDE 中导入的 Java 的基本步骤,然后我添加了一些额外的 Java 代码。
- 然后我将它发送到 Selenium 服务器以执行自动化步骤。
以下是将代码分解为两部分的内容:
第 1 部分:
这基本上是登录 Web 应用程序的一些步骤。它有用户名和密码,并向服务器发送一个带有 POSTDATA 的 POST。这里的一切都是通过 Selenium 完成的,您可以在测试运行时在 Web 浏览器中看到它已完成,因为 Selenium 会自动完成。
第 2 部分:
这基本上是使用 POST 和 POSTDATA 将数据库中的用户名发送到服务器上的 php 文件的一些步骤。(为了正确发送此 POST,它需要使用第 1 部分中的 Web 应用程序进行身份验证。)这里的一切都是通过 Java 完成的。
问题:
所以我遇到的问题是第 1 部分和第 2 部分似乎被视为相互排斥。一旦我使用 Selenium 对 Web 应用程序进行身份验证,纯 Java 代码就不会使用该会话。我必须从 HTTP 标头中复制 cookie 以将其直接插入到第 1 部分的第 2 部分中的 POST 中。这似乎是一个非常手动的过程,让第 2 部分工作。
所以我想知道第 1 部分中是否有办法让 Selenium 在验证和登录后将 cookie 存储在某个地方。(也许将cookie存储到对象或其他东西中)
因此,在第 2 部分中,我可以使用 Java 调用该对象并将 cookie 填充到必填字段中,并完成对 Web 应用程序的第二次 POST,而无需手动为其提供有效的 cookie。