我使用协同欺骗来测试我的for服务器的API端点。我想要执行一些压力测试,因此,在一个名为“StressCest”的Cest文件中,我编写了一些测试,对服务器中最常用的端点执行几次调用。
我想(并行地)启动这个Cest文件的大量多个实例。
为了这个求婚我用了Robo。我设置了一个带有"parallelRun()“(https://codeception.com/docs/12-ParallelExecution)方法的Robo配置文件(https://codeception.com/docs/12-ParallelExecution)。
public function parallelRun()
{
$parallel = $this->taskParallelExec();
for ($i = 1; $i <= 1000; $i++) {
$parallel->process(
$this->taskCodecept()
->suite('api')
->test('StressCest')
);
}
return $parallel->run();
}这就产生了1000个并行StressCest进程。当我执行控制台命令robo parallel:run时,会出现以下错误:
警告: proc_open():无法在/../供应商/symfony/process/process.php中创建过多打开的管道文件,第337行出现错误,无法启动新进程。错误: proc_open():无法在/./供应商/symfony/process/process.php:337中创建过多打开的文件
有什么方法可以绕过这个错误,还是用CestFile执行并行压力测试的另一种方法?
谢谢您的回复。
发布于 2019-04-03 10:57:48
https://stackoverflow.com/questions/55452467
复制相似问题