我正在构建一个网站,该网站使用 Google OAuth 来验证用户身份并代表用户在 Google 中执行操作(发送电子邮件、创建日历事件等)。
我想使用 selenium 来测试该网站是否按预期工作。这包括特定于网站的内容(例如,按下此按钮会导致此条目进入数据库),但也包括特定于 Google 的内容(例如,按下此按钮会导致发送此确切电子邮件)。
我如何使用硒合理地测试这个?如何自动登录?有什么方法可以让我测试用户 X 不能执行这些特定操作,但用户 Y 可以吗?
目前,我将 JSONified 用户记录(带有 Google 凭据)保存在一个文件中,并在测试设置时加载该文件。如果找不到该文件,则它会启动一个浏览器窗口并休眠,直到我使用该浏览器窗口手动登录。这让人感觉很笨拙和脆弱。它还阻止我进行 CI 测试,因为用户记录文件仅在我的机器上可用。