我正在尝试使用代码接收来编写验收测试。
我进行了第一次验收测试,加载了包含产品比较的页面。
我使用$I->saveSessionSnapshot('Comparison');
保存会话快照
在第二次测试中,我想从此页面继续进行比较。
在第二个测试的开始,我写道:
$I->loadSessionSnapshot('Comparison');
但是,在那之后,我需要写:
$I->amOnPage('/comparison/{userToken}');
用户令牌位于会话中的变量userToken
中,我想在URL中注入该变量。
我该怎么做?
答案 0 :(得分:3)
你不能那样做。
Session snapshot
并不意味着服务器端会话的快照,而是浏览器会话的快照,它实际上存储了所有cookie。
如果这是一项功能测试,则可以实现某种方式来基于会话ID直接访问会话存储,但是在验收测试中,您不能直接访问服务器端代码或存储。
最好修改应用程序代码以在URL中未指定会话时从会话中读取userToken
,然后在测试中使用$I->amOnPage('/comparison/');
。