selenium - 在 selenium 自动结束 2 结束测试期间关闭浏览器

标签 selenium testing automated-tests

在典型 SPA 页面的自动化测试期间,浏览器应该在 selenium e2e 测试运行的每个场景之后关闭还是应该保持打开状态?
我在每个较大的场景后关闭和打开浏览器时看到的专业人士是上下文是新鲜的并且应该没有缓存问题或其他依赖项等问题。但是也许它足以进行硬刷新而不是关闭浏览器?
保持浏览器窗口打开的优点是整体端到端测试的速度 - 关闭浏览器和启动新 session 总是需要时间,在我们的例子中,当保持浏览器打开时,两者之间的差异要快 20%。

我的问题是:打开浏览器并在一个浏览器 session 中运行所有测试是否还有其他潜在问题?

最佳答案

我自己通过关闭浏览器并在每次运行时启动一个新浏览器来完成。就像你说的那样,它将为你提供一个全新的背景。另一个原因是我可以为每个测试用例设置自定义设置。就我而言,我正在执行大量下载。我通过在每个测试用例之前更改 firefox/chrome 设置来确保每个测试用例都将下载到其自己的文件夹。

我在每次运行后关闭和打开浏览器的另一个主要原因是它允许您并行运行测试。当对所有测试用例使用单个浏览器时,这是不可能的。如果您不关闭浏览器然后并行运行,您的测试将比 20% 更快。

关于selenium - 在 selenium 自动结束 2 结束测试期间关闭浏览器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37854845/

相关文章:

python - python selenium 的火灾事件

javascript - 在 Selenium/PhantomJS 上执行 Javascript

css - 如何使用 ruby​​ 获取 style - "width"的百分比值?

unit-testing - 针对 JSON API 的 Haskell 功能测试

php - 如何使用 phpunit 测试用例测试 ajax 调用?

ruby-on-rails - 使用 simplecov 的 Ruby on Rails 测试覆盖率

selenium - 通过 sendKeys() 将字符串发送到 ExtJS 输入时,第一个字符不断丢失

unit-testing - 如何测试一个 React 组件是否包含另一个带有 Tape 和 Enzyme 的组件?

testing - TDD 单元测试子方法

javascript - CodeceptJs等待元素从DOM中消失