在Cypress中过滤可用的浏览器
作者:互联网
Cypress是一个网络测试自动化框架,它配备了创建自动化测试所需的一切,而不会浪费时间在配置和其他细节上。
在其设施中,Cypress可以识别您的计算机上可用的浏览器,打开后,您可以选择要运行测试的浏览器,如下图所示。
如您所见,除了Chrome、Edge和Firefox浏览器(当我拍摄此屏幕截图时,可以在我的电脑上找到)外,还有Electron浏览器,这是Chrome的桌面版本。
您还可以选择在无头模式(持续集成中通常使用的模式)运行测试时,测试将在哪个浏览器中运行。
要做到这一点,只需运行cypress run --browser chrome
、cypress run --browser edge
或cypress run --browser firefox
。
注意:当仅运行cypress run
,Cypress将默认在Electron浏览器(Chrome的桌面版本)中运行测试。
只让Cypress使用网页浏览器
通常,Web应用程序由用户在Web浏览器中使用,而不是桌面版本的浏览器,如Electron。
因此,为了不冒在此类浏览器中运行测试的风险,我们可以将其从可用浏览器列表中删除。
为此,只需将以下实现添加到Cypress配置文件(cypress.config.js
)的e2e
属性中定义的setupNodeEvents
函数中。
setupNodeEvents(on, config) {
return {
browsers: config.browsers.filter(browser => browser.name !== 'electron')
}
}
也就是说,从Cypress配置中,我们正在获取浏览器,并过滤除电子以外的所有浏览器。
这样,当执行cypress open
命令时,电子浏览器将不再可用,如下图所示。
这样,我们就不会冒着在应用程序的真实用户不会使用的浏览器中意外测试应用程序的风险。