我们在公司网站上有来自 Facebook 的统计数据。使用 Facebook 帐户登录统计页面。我已经编写了 BDD 测试。测试登录该站点并测试其功能。但 Facebook 不允许频繁登录(可能出于安全原因)。因此,当他们登录每个场景时,都会被 Facebook 屏蔽。
测试每天运行数次。Facebook帐户仅用于登录具有统计信息的网站。
我想问一下。是否可以禁用场景之间的重置会话?还是其他解决方案?
我们使用 Facebook 的访问令牌来防止我们的“连接到 Facebook”步骤在每个场景中向 Facebook 发出登录请求。
我们只需在登录后从 FB 的 API 中检索访问令牌,将其存储在一个文件中,下次我们要连接时,我们检查是否获得了存储的“未过期”令牌。
会话在每个场景后过期。所以新场景新会话。但是你可以做的是 behat 和 mink 提供背景。在后台您可以进行登录。因此,在功能的每个场景开始时,都会创建一个登录会话。您还可以在功能上下文中创建自定义登录功能,然后给出该功能名称,例如
Background:
Given I am logged in
否则你可以做的最简单的是
Background:
Given I fill in "username" with "hello@abc.com"
And I fill in "password" with "xyz"
Scenario:
Given I am on homepage
Scenario:
Given I am on "/support"
因此,您会在每个场景后自动登录。