В настоящее время я использую TestCafe в качестве основной платформы тестирования в моей компании.Недавно я столкнулся с проблемой: у нас есть разработанный конвейер, который запускает тесты параллельно, но не так, как должен работать Testcafe.
Я знаю, что testcafe может обрабатывать параллелизм при одновременном выполнении теста следующим образом:
testcafe -c 3 chrome tests / test.js
Однако наш конвейер воспроизводит каждый тест testcafeв своем браузере без использования процедуры параллельного выполнения теста.Результатом является то, что в конце выполнения у нас в диспетчере задач по-прежнему открыто МНОГО браузеров Chrome.Я не знаю, как справиться с этой проблемой ... Я уже пытался вставить какой-то код о window.close () в "aftereach" моих приборов, но это не работает ...
У меня естьОтметим, что выполнение одного теста за раз не дает такого эффекта, и все браузеры Chrome закрыты правильно.
Спасибо за вашу помощь!
Sylvain
Это код, который выполняется:
execution {
String nodejsPath = pathfileOfTestDirectory("nodejs/")
String nodejsModulePath = nodejsPath + "/lib/node_modules"
String npmPath = pathfileOfTestDirectory("nodejs/npm.cmd")
new File(resultDir).mkdirs();
logcatoutput resultDir + "logcat.log"
inDirectory pathfileOfTestDirectory("tests-e2e")
within 60, TimeUnit.MINUTES
env "Path", readEnv("Path") + ";" + nodejsPath
env "NODE_PATH", nodejsModulePath
String browserPath;
switch(browser) {
case "firefox":
//browserPath = pathfileOfTestDirectory("/resources/browsers/firefox/firefox.exe")
browserPath = pathfileOfTestDirectory("/resources/browsers/chrome/Application/chrome.exe")
break
case "chrome" :
browserPath = pathfileOfTestDirectory("/resources/browsers/chrome/Application/chrome.exe")
break
}
command npmPath, "run",
"testcafe",
"--scripts-prepend-node-path",// ensure the nodejs installation of the workspace is used
"--",
"path:`${browserPath}`",
"testcafe/",
"--targetEnv=" + targetEnv,
"--targetPage=" + targetPage,
"--test=\"${testName}\"", "-q",
"-r", "json:${resultDir}result.json",
"-s", "${resultDir}"
logger.info("Execution done")
}