Selenium并行测试运行多个浏览器实例之间的冲突b / c共享本地存储?

时间:2015-09-16 00:54:10

标签: angularjs selenium protractor karma-jasmine

我开始为角度SPA设置量角器测试。为了加快测试运行速度,我设置了Selenium在Firefox和Chrome中使用多个实例为每个浏览器运行测试。

在每个测试用例之前,我们清除localStorage,以便确定我们的起始位置。

然而,今天我发现了一场冲突。由于浏览器有两个实例,如果指向同一个域,它将在两者之间共享localStorage。因此,如果我有两个并行运行的测试,一个需要用户登录,而另一个需要用户注销 - 好吧,第一个测试将登录用户,现在用户在第二个浏览器实例中也将登录(因为localStorage已在两者中设置/更新)。

所以现在,我的一个测试失败了,因为它发现自己在错误的页面上。

有没有简单的方法可以解决这个问题? (这不涉及设置服务器和多个实例,或者在Saucelabs / Browserstack上花费2000美元/月......)

1 个答案:

答案 0 :(得分:2)

好吧,我遇到了同样的问题,这是我得到的解决方案:

  1. 您必须制作框架的副本并将其存储在本地计算机的两个不同位置。

  2. 您必须为selenium中的每个实例启动创建不同的侦听端口,您可以通过配置用于启动自动化测试的testng.xml来执行相同的操作。