2

我需要单独运行我的 Selenium Webdriver JUnit 测试,但也需要同时运行。我一直在寻找一种解决方案,基本上可以解决一个问题:我正在测试一个使用 SSO 的应用程序。

这意味着,我必须在运行测试时手动登录。另一方面,这甚至是需要的,因为您不想将关键密码存储在任何文件中。当您运行单个测试时,这甚至没有害处。但是当您需要全部运行它们并且您有大约 100 个测试时,您将不得不登录 100 次。想都别想!

我发现一种可能的解决方案可能是 Java 代理服务器。我找到了显示如何创建和处理一个的代码,但不是其中的 SSO 部分。谁能帮我?或者密码是否会以任何一种方式存储在某个地方?

4

1 回答 1

2

您需要了解有关 SSO 实施的更多信息。我建议使用浏览器的开发工具,我们的调试代理,如 Fiddler 或 Charles,在 SSO 身份验证期间捕获浏览器和服务器之间的 HTTP 流量,然后在 Java Web 客户端中实现这些请求。SSO 身份验证通常会导致设置 cookie。如果您在身份验证阶段之后捕获此 cookie,那么您可以在每个 Selenium 测试中重用此 cookie。

身份验证将需要凭据,您可以将其放入属性文件中。您可以将此属性文件从源代码控制中排除,并要求所有开发人员在运行测试时使用他们自己的凭据。

于 2012-11-04T08:20:26.993 回答