Cypress 5.0 — Не удается найти установленные браузеры

#cypress

#cypress

Вопрос:

У меня установлен Cypress 5.0 и есть все браузеры — Chrome, Edge и FF. Когда я запускаю

 > npx cypress open
  

Не удается увидеть все браузеры в правом верхнем углу. Отображается только Electron

Я пытался

 > npx cypress open --browser chrome
  

Я получаю следующую ошибку

 Can't run because you've entered an invalid browser name.                         
                                                                                  
Browser: 'chrome' was not found on your system or is not supported by Cypress.    
                                                                                  
Cypress supports the following browsers:                                          
- chrome                                                                          
- chromium                                                                        
- edge                                                                            
- electron                                                                        
- firefox (Cypress support in beta)                                               
                                                                                  
You can also use a custom browser: https://on.cypress.io/customize-browsers       
                                                                                  
Available browsers found on your system are:                                      
- electron                                                                        
                                                                              
  

Я также пытался

 > npx cypress open --browser C:Program Files (x86)GoogleChromeApplicationchrome.exe
  

Cypress показывает ошибку — мы не смогли определить известный браузер по указанному вами пути

На другой моей машине я могу видеть все браузеры с самого начала.

Любая помощь будет оценена

Комментарии:

1. Та же проблема при запуске в CI с изображением docker

Ответ №1:

Я столкнулся с аналогичной проблемой в своей организации, и символическая ссылка помогла мне справиться с этим. В моем сценарии браузер Chrome не был установлен в папке по умолчанию, в которой cypress ищет Chrome.exe (‘C:/Program Файлы (x86)/Google/Chrome/Application/chrome.exe ‘,’C:/Program Files/Google/Chrome/Application/chrome.exe ‘)

Когда я попробовал приведенную ниже команду с моим установленным Chrome brower path:

  npx cypress open --browser "C:Program Files (x86)GoogleChromeApplicationchrome.exe"
  

Сбой с ошибкой, которая не может найти браузер по адресу «C:Program «. Кажется, что он разделяет путь —browser ПРОБЕЛОМ и не может идентифицировать браузер Chrome.

Итак, я создал символическую ссылку в папке по умолчанию, где cypress по умолчанию ищет браузер Chrome.

 C:mklink /J "C:Program FilesGoogleChromeApplication" "C:Program Files Google Chrome (Local)"
  

После завершения символьной ссылки я вижу новый путь «C:Program Files Google Chrome Application» приводит меня к chrome.exe . Теперь я могу запустить команду cypess open без тега браузера и должен увидеть браузер Chrome, добавленный в раскрывающемся списке браузера.

 npx cypress open
  

Примечание:

  1. Запустите cmd от имени администратора
  2. Убедитесь, что «C:Program Папка «Files Google Chrome» существует до запуска команды символической ссылки

Комментарии:

1. Символическая ссылка — хорошая идея. Пример Powershell New-Item -ItemType SymbolicLink -Path "C:Program FilesGoogleChrome" -Target "C:Users<user>AppDataLocalGoogleChrome"

Ответ №2:

Столкнулся с точно таким же сообщением об ошибке. Это потому, что на образе docker не установлен ни один из этих браузеров.

Я решил эту проблему, просто установив Chrome на изображение, которое я использовал, с помощью этих команд

 RUN wget -q https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb
RUN apt-get install -y ./google-chrome-stable_current_amd64.deb
  

вы также могли бы потенциально связать свое приложение Chrome с вашим контейнером, используя тома docker, но я решил, что версия Chrome для Windows не будет хорошо воспроизводиться в образе Linux.

Ответ №3:

у меня это работало в окне, выполнив следующие шаги-

  1. Очистите все содержимое, как указано в —https://github.com/cypress-io/cypress/issues/2834#issuecomment-441956393
  2. Закройте приложение Cypress и VS code одновременно.
  3. Добавьте следующую запись в переменную «PATH»- C:WindowsSystem32wbem
  4. Удалите и установите Chrome снова.
  5. Откройте VS Code и откройте приложение Cypress. теперь вы можете увидеть Chrome.

Ответ №4:

У меня была такая же проблема с Дженкинсом, и я решил ее, просто добавив C:\Windows\System32\wbem в свой PATH скрипт в конвейере (в withEnv разделе).

Ответ №5:

У меня была такая же проблема с Cypress 7.1.0. Cypress показывает только Edge. Я удалил данные приложения, описанные здесь. После переустановки Google Chrome Cypress показывает как Chrome, так и Edge.