【发布时间】:2014-11-02 14:31:33
【问题描述】:
我到处看了,但似乎只有我一个人在问这个问题。
如何使量角器中的浏览器会话保持活动状态,而不是每次运行测试时都必须登录。我已将登录逻辑放在onPrepare 中以避免记录每个测试功能
onPrepare: function() {
var mymodule = require("./e2e/mymodule");
mymodule.login();
mymodule.switchToProject("someproject");
}
但是每次我运行我想跳过的量角器时,登录仍然需要 3-4 秒。有什么想法吗?
我更喜欢 chromeOnly: true 设置的解决方案,但单独的 selenium 服务器的解决方案也可以
【问题讨论】:
-
哈!我的 e2e 套件进行了数千次测试,大约需要 30 分钟,但您抱怨 3-4 秒?呵呵,只有使用 Karma 进行单元测试才能达到这样的速度,Protractor e2e 意味着每次都在新的会话浏览器和会话缓存上启动,并且每次 e2e 运行至少作为第一步再次登录。
-
话虽如此,您需要寻找一种在每次运行时重复使用 Chrome 配置文件的方法,使用相同的配置文件将允许浏览器保留 cookie。
-
感谢 Leo 的提示,我将在网上查找如何重用特定的 chrome 配置文件。同时我想到了另一个很好的解决方案,通过 API 密钥实现登录,只需要一行 browser.get()
-
哈哈顺便说一句,当然总的测试会很耗时,而且登录时间相对来说非常短,就像你说的那样。但是我大部分时间都会使用 ddescribe 和 iit 来进行测试——这样我构建的一个特性只需要在每几行代码之后进行测试——在这种情况下,登录 3-4 秒,然后 3-4 秒 iit会有点烦人
-
我也想这样做,我同意我们需要找到一种方法来在测试之间保持量角器会话(理想情况下还有一个 REPL 环境)
标签: session selenium browser login protractor