我正在现有的Web应用程序上设置一组e2e测试。这要求在登录页面(邮件和密码)上自动登录。到目前为止,由于我仍在开发测试,因此我一直将测试帐户凭据以明文形式放在测试脚本中。我已经在每次提交之前手动删除了凭据,但是对于在某处的服务器上进行适当的自动化测试,它还是不成立的,也不能保证所有开发人员都能够在自己的计算机上舒适地运行测试。此外,测试需要能够以几组不同的用户凭据运行,并且凭据安全至关重要。由于我们需要测试访问权限,因此似乎无法避免至少拥有一个可以访问机密数据的测试帐户。
所以我的问题是:您知道或使用什么策略在开发人员机器,单独的服务器或两者上的测试环境中安全地存储和使用测试凭据?
我花了几天时间浏览网络(主要是StackOverflow,并多次尝试使用我的Google-fu)并询问同事,但没有找到任何已知和使用的策略来处理和存储测试中的凭证。我认为许多熟练的程序员一定已经以多种方式解决了这个问题。
StackOverflow提出了一些类似的问题,它们提供了一些有趣的策略:
我认为,不管实现细节如何,这个问题都是人们普遍关心的问题,但是无论如何,它们还是很有趣的。
我正在使用量角器来测试AngularJS应用,并正在考虑使用Grunt进行进一步的测试自动化。我们计划将测试连接到我们的Git服务器上,并让它在每次提交到master分支时都运行测试,以便我们知道它永远不会中断。或者,至少在测试期间不中断:)
security authentication automated-tests password-protection protractor