在Behat Mink中重置场景之间的会话。如何禁用?

时间:2013-09-05 08:53:03

标签: facebook selenium webdriver behat mink

我们在公司网站上有来自Facebook的统计数据。登录统计页面使用的是Facebook帐户。我写过BDD测试。测试登录站点并测试其功能。但Facebook不允许频繁登录(可能出于安全原因)。因此,当他们登录每个场景时,它将被阻止进入Facebook。

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

我想问。是否可以在方案之间禁用重置会话?或者是其他解决方案?

2 个答案:

答案 0 :(得分:2)

我们使用Facebook的访问令牌来阻止我们的“连接到Facebook”步骤,以便针对每种情况向Facebook发出登录请求。

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

答案 1 :(得分: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"

所以你会在每个场景后自动登录。