В настоящее время я работаю над платформой тестирования на основе C# - Webdriver - MSTest. Мы используем файл testsettings для включения параллельного выполнения. Также тесты выполняются на машине с 4 процессорами, и мы используем Selenium Grid для выполнения тестов. Ниже приведены некоторые из проблем, с которыми сталкивается выполнение в ночное время.
Пожалуйста, помогите, если кто-то работает с какой-либо структурой на основе C# и успешно выполняет тесты в нескольких параллельных потоках.
Заранее спасибо.





Когда я впервые сделал это, я столкнулся с теми же проблемами, что и вы - я обнаружил, что мои тесты выполнялись быстрее всего с 4 потоками, хотя у меня было много сбоев. Проблема заключалась в том, что наша система не могла одновременно обрабатывать четыре запроса на вход. Я попытался сделать код потокобезопасным, но это тоже не сработало; В итоге я создал 4 учетных записи для нашей системы и использовал статическую переменную, которая увеличивалась каждый раз, когда тестировался вход в систему. Это заставило бы следующий тест использовать следующую учетную запись.
Если для ваших тестов требуется функция входа в систему, возможно, это может быть вашей проблемой?
Вы можете установить максимальное количество потоков, добавив эту строку под строками «using» в верхней части кода (примечание: достаточно добавить эту строку к одному классу, вам не нужно добавлять ее к каждому классу)
[assembly: Parallelize(Workers = 4, Scope = ExecutionScope.MethodLevel)]
Если вы измените 4 на 0, то будет использоваться максимальное количество потоков для вашего процессора (для меня это 8 экземпляров chromedriver, хотя 4 были намного быстрее!).