gpt4 book ai didi

session - 保持 Protractor 浏览器 session 处于事件状态

转载 作者:行者123 更新时间:2023-12-02 10:36:16 26 4
gpt4 key购买 nike

我到处都找过了,但看来我是唯一一个问这个问题的人。

如何使 Protractor 中的浏览器 session 保持事件状态,而不必每次运行测试时都必须登录。我已将登录逻辑放入 onPrepare 中,以避免为每个测试函数记录日志

onPrepare: function() {
var mymodule = require("./e2e/mymodule");
mymodule.login();
mymodule.switchToProject("someproject");
}

但是每次我运行 Protractor 时仍然需要 3-4 秒登录,我想跳过。有什么想法吗?

我更喜欢 chromeOnly: true 设置的解决方案,但单独的 selenium 服务器的解决方案也很好

最佳答案

Protractor 每次运行时都会创建一个全新的 Chrome 配置文件。在搞乱这个之前,您需要意识到这为您的测试提供了可靠性:它们每次都会以相同的方式运行,因为它们是从空白开始的。如果您决定使用已登录的持久配置文件,那么一旦登录过期、配置文件被删除或您尝试在另一台计算机上运行它们,您的 Protractor 测试就会开始失败。

也就是说,有一种方法可以要求 Chrome 在每次运行 Protractor 测试时重用相同的配置文件(包括 Cookie 和所有设置)。在您的 protractor.conf.js 中,您将执行以下操作:

capabilities: {
'browserName': 'chrome',
'chromeOptions': {
'args': ['--user-data-dir=/a/random/path']
}
}

这里的'args'是操作部分。它允许您在启动时将命令行参数传递给 Protractor 版本的 Chrome(例如,您可以传入 '--start-maximized' 以在启动时最大化 Chrome)。

/a/random/path 替换为系统上的任何文件路径(从根目录开始)。只需确保您引用的文件夹已创建即可。您不需要使用自己的 Chrome 配置文件路径——这只是不必要的麻烦。在某处创建一个文件夹并使用它。

当 Protractor 启动 Chrome 时,其配置文件将位于您指定的位置,并且只要您的路径保持不变,它就会继续使用它。

请记住,这是一个浏览器操作,与 Selenium 或 Protractor 所做的事情完全无关。我不知道 Firefox 或其他浏览器是否有办法做到这一点,因为每个浏览器表面上都有自己的存储用户配置文件的方式。

关于session - 保持 Protractor 浏览器 session 处于事件状态,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25740056/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com