Тесты codeception’a очень медленные, приложение очень тяжёлое и тормозное, поэтому в купе получается 20 тестов - 21 минута на выполнение. А хочется больше покрытия, больше тестов и запускать их чаще, чем раз в день.
Сделано: На одной машине пытался запускать тесты хотя бы в 2 потока:
в терминале запущен selenium grid с настройками по-умолчанию, в том же терминале в других вкладках запущены 2 селениума. Пример запуска одного из них (у другого другой дисплей и порт, остальное так же):
DISPLAY=:98 xvfb-run -a -n 1 -l -s "-screen 0, 1024x768x8" java -jar Application/selenium-server-standalone-2.43.0.jar -role node -hub http://localhost:4444/grid/register -port 5556 -Dwebdriver.firefox.profile=selenium
Запускаю тесты, в консоли grid’а вижу, что все тесты проходят через однин селениум(одну машину). В codeception нашёл, что по умолчанию он заточен запускать через grid, в сырцах:
public function _initialize()
{
$this->wd_host = sprintf('http://%s:%s/wd/hub', $this->config['host'], $this->config['port']);
$this->capabilities = $this->config['capabilities'];
$this->capabilities[\WebDriverCapabilityType::BROWSER_NAME] = $this->config['browser'];
$this->webDriver = \RemoteWebDriver::create($this->wd_host, $this->capabilities);
$this->webDriver->manage()->timeouts()->implicitlyWait($this->config['wait']);
$this->initialWindowSize();
}
Что я делаю не так? Как заставить тесты запускаться в несколько потоков?