t.me/atinfo_chat Telegram группа по автоматизации тестирования

Паралельный запуск тестов dotnetcore, nunit3, seleniumc#

docker
csharp
nunit
selenoid
parallel
execution
selenium
Теги: #<Tag:0x00007f21dc7e3380> #<Tag:0x00007f21dc7e2f98> #<Tag:0x00007f21dc7e2c78> #<Tag:0x00007f21dc7e28b8> #<Tag:0x00007f21dc7e2390> #<Tag:0x00007f21dc7e2110> #<Tag:0x00007f21dc7e1d78>

(Vladislav Abramov) #21

а что такое headless mode?
у нас гитлаб, и если агентов запускать просто через экзешник, то тесты выполняются на моём рабочем столе; если как службу, то в каком-то другом пользовательском пространстве. При этом тесты тянут расширение моего монитора и браузер вроде как реально запускается


(Viktor) #22

может быть, у меня не тянуло разрешение виртуалки, я в подробности не вникал


(Lelik) #23

Я запускаю локально, не CI


(Vladislav Abramov) #24
  • у вас 6 часов тестов
  • нет параллелизации
  • нет ci

что-то здесь не чисто


(Viktor) #25

так пост ведь как раз о том, что это не устраивает


(Lelik) #26

Ну вот так вот сразу, вместо совета и сочувствия :slight_smile:

Добавился еще один проект тестов и решили держать его в общем репозитории, так как он часть функционала. исепользует общие методы, как основу. Результат 6 часов. Ну может быть утрирую, но 6 часов скоро будет.
CI есть, билдится проект, деплой на билд машину, vstest ранит тест, генерится allure report
Сейчас отработала на не большом проекте запуск docker selenoid на виртуалке с генерацией отчета.
Теперь занялась этим динозвром. И проблема теперь в этой, судя из результатов поиска в гугл, мелочи, казалось бы.


(Сергей Кузьмин) #27

@lelik

вы можете положить на gist изолированный case демонстрирующий ощибку пожалуйста


(Сергей Кузьмин) #29

что то знакомое…


Looks like the ZipStorer code needs encoding 437. .NET core removes built-in support for many less common encodings, including 437. T


(Ihor) #30

Добавление перед загрузкой файлов Encoding.RegisterProvider(CodePagesEncodingProvider.Instance) . из пакета System.Text.Encoding.CodePages решает эту проблему


(Lelik) #31

Спасибо всем за помощь. Работает!

Суммируя все выше описанное, сделаю вывод для “потомков”

  1. Для поиска файла в контейнере нужно добавить resultDriver.FileDetector = new LocalFileDetector(); Если файл есть - пояивтся ошибка ‘System.IO.Compression.ZipStorer’
    2.Для решения ошибки : ‘System.IO.Compression.ZipStorer’ - Устанавливается библиотека [System.Text.Encoding.CodePages] и добавляется Encoding.RegisterProvider(CodePagesEncodingProvider.Instance) перед загрузкой файла.
Encoding.RegisterProvider(CodePagesEncodingProvider.Instance)
Part.ModelFile.SendKeys(Utils.GetFileFullPath(manuffilepath));

(Valentin G ) #32

Сейчас посмотрел на решение, вспомнил, что у самого было похожая проблема, когда перевел тесты на .NetCore 2.1. И тоже эта строчка (плюс установленные пакеты):

Encoding.RegisterProvider(CodePagesEncodingProvider.Instance)

помогли с решением проблемы (используется BrowserStack).