我正在使用Cucumber.js构建测试框架,并使用express-sessions测试我页面上的一些广告脚本。理想情况下,我的工作流程应为:
黄瓜向我的服务器发出发布请求,有效负载是该特定测试的配置,即:将脚本加载到的html页面,要使用的广告服务器,在这些脚本上强制执行的特定规则等。请求正文该请求的设置为req.session。现在,我可以在实际的测试端点上设置配置了。
然后,将同一测试转到另一个端点。现在,由于我拥有该测试所需的所有数据(因为它是在req.session中设置的),因此生成了需要测试的页面。我使用什么模板,什么广告服务器,等等。我在此页面上进行了许多断言,并检查它们是否正确实现。这将是一个孤立的会话。
理想情况下,我为每个功能创建一个会话。
问题是,当测试失败时,我想在本地浏览器中访问该会话(该会话仍在服务器内存中)(这些测试在浏览器堆栈上自动运行。)查询具有会话ID的参数,然后将新的会话配置设置为测试失败。
我在生成人类可读的Cookie时遇到了麻烦。 Express会话会加密这些内容,但就我而言,我真的不需要Cookie来确保安全。我希望有一个带有特定测试配置文件的键值对,以便我可以准确地复制该测试。