2

我们在公司网站上有来自 Facebook 的统计数据。使用 Facebook 帐户登录统计页面。我已经编写了 BDD 测试。测试登录该站点并测试其功能。但 Facebook 不允许频繁登录(可能出于安全原因)。因此,当他们登录每个场景时,都会被 Facebook 屏蔽。

测试每天运行数次。Facebook帐户仅用于登录具有统计信息的网站。

我想问一下。是否可以禁用场景之间的重置会话?还是其他解决方案?

4

2 回答 2

2

我们使用 Facebook 的访问令牌来防止我们的“连接到 Facebook”步骤在每个场景中向 Facebook 发出登录请求。

我们只需在登录后从 FB 的 API 中检索访问令牌,将其存储在一个文件中,下次我们要连接时,我们检查是否获得了存储的“未过期”令牌。

于 2013-09-19T10:14:34.553 回答
1

会话在每个场景后过期。所以新场景新会话。但是你可以做的是 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"

因此,您会在每个场景后自动登录。

于 2013-09-05T12:40:52.077 回答