2012-10-26 55 views
1

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

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

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

回答

2

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

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