Я нахожусь в процессе переноса наших тестов с Selenium на Playwright. Одним из достоинств Playwright является предполагаемое более быстрое время выполнения, но я считаю, что это не так. Интересно, не попал ли я в какую-то ловушку для слонопотамов, которой можно было бы легко избежать!
Я создал следующий тест, чтобы уменьшить вероятность того, что какая-то глупая вещь, которую я делаю, остановит их:
[Test]
public async Task speed_test()
{
playwright = await Playwright.CreateAsync();
browser = await playwright.Chromium.LaunchAsync();
context = await browser.NewContextAsync();
page = await context.NewPageAsync();
await page.GotoAsync("https://www.google.co.uk/");
}
Этот тест занимает около 8 секунд, и, как вы можете видеть, он практически ничего не делает. При параллельном запуске с 5 другими тестами время выполнения увеличивается до более чем 30 секунд! Медленнее, чем наши тесты Selenium.
Я знаю, что Playwright должен быть быстрым, есть ли какие-то настройки или что-то, на что мне следует обратить внимание?!
Заранее спасибо!
Хороший крик. Как мне это проверить, пожалуйста?
@MartinCostello, это был правильный ответ! Если вы напишите это как ответ, я могу отметить это как таковое. Примите мою вечную благодарность.
«При параллельном запуске с 5 другими тестами время выполнения увеличивается до более чем 30 секунд!» Вы проверяли загрузку процессора на своей машине, когда она это делала ..?





Трудно предложить что-то конкретное с текущей предоставленной информацией.
В общем, попробуйте записать трассировку и посмотреть, какие операции тормозят.
Playwright обычно загружает необходимые драйверы, если их нет, когда вы запускаете тест.
Проверено, что Драматург делает это только один раз, а не для каждого теста.
Playwright обычно загружает необходимые драйверы, если их нет, когда вы запускаете тест. Просто чтобы исключить это, проверяли ли вы, делает ли это один раз, а не для каждого теста?