Symfony Sylius+;流浪汉+;不工作

Symfony Sylius+;流浪汉+;不工作,symfony,testing,vagrant,behat,sylius,Symfony,Testing,Vagrant,Behat,Sylius,我们试图在流浪者机器内运行Behat测试,但我们总是遇到问题 这是我们正在使用的流浪机器 第一个问题是cookies,我们解决了这个问题,但是现在每个@javascript场景都失败了 下面是一个例子 我们在出错后得到的截图上说路线丢失了 你知道如何解决这个问题吗?我已经面对并设法解决了这个问题 关键问题是ChromeWebdriver版本(2.29)要么与Google Chrome版本(59.0)不兼容,要么在设置Cookie方面存在缺陷(Changelog确实提到了一些关于Cookie的工作

我们试图在流浪者机器内运行Behat测试,但我们总是遇到问题

这是我们正在使用的流浪机器

第一个问题是cookies,我们解决了这个问题,但是现在每个@javascript场景都失败了

下面是一个例子

我们在出错后得到的截图上说路线丢失了


你知道如何解决这个问题吗?

我已经面对并设法解决了这个问题

关键问题是ChromeWebdriver版本(2.29)要么与Google Chrome版本(59.0)不兼容,要么在设置Cookie方面存在缺陷(Changelog确实提到了一些关于Cookie的工作)

目前,ChromeDriver 2.30+谷歌Chrome59.0是我的一个有效组合-检查那些版本

我必须改变的另一件事是会话处理程序使用正确的会话,而不是mockses(离子)。在
app/config/config_test.yml
中,我更改了
框架
会话
部分,如下所示:

framework:
    test: ~
    session:
        handler_id: session.handler.native_file
        save_path: '/tmp/php-sessions'
还要检查的另一件事是会话是否在没有任何权限问题的情况下创建/读取/写入。我确实遇到了一个问题,当时我正在使用
vagrant
用户运行behat,因此它创建了会话文件,并将该用户作为所有者,但当它通过Selenium/Chrome返回Web服务器时,它试图使用
www data
用户访问该文件,但由于权限限制而失败。作为一种解决方法,我现在也在
www-data
user下运行behat:
sudo-E-u www-data-bin/behat…
。缓存也可能出现类似问题


对于Vagrant,Sylius强制将缓存/日志目录放置在
/dev/shm/Sylius
中,这在共享目录(主机和来宾之间)的情况下是一个性能提升,但也意味着严格的权限检查(请参阅)

我已经遇到并设法解决了这个特定问题

关键问题是ChromeWebdriver版本(2.29)要么与Google Chrome版本(59.0)不兼容,要么在设置Cookie方面存在缺陷(Changelog确实提到了一些关于Cookie的工作)

目前,ChromeDriver 2.30+谷歌Chrome59.0是我的一个有效组合-检查那些版本

我必须改变的另一件事是会话处理程序使用正确的会话,而不是mockses(离子)。在
app/config/config_test.yml
中,我更改了
框架
会话
部分,如下所示:

framework:
    test: ~
    session:
        handler_id: session.handler.native_file
        save_path: '/tmp/php-sessions'
还要检查的另一件事是会话是否在没有任何权限问题的情况下创建/读取/写入。我确实遇到了一个问题,当时我正在使用
vagrant
用户运行behat,因此它创建了会话文件,并将该用户作为所有者,但当它通过Selenium/Chrome返回Web服务器时,它试图使用
www data
用户访问该文件,但由于权限限制而失败。作为一种解决方法,我现在也在
www-data
user下运行behat:
sudo-E-u www-data-bin/behat…
。缓存也可能出现类似问题


对于Vagrant,Sylius强制将缓存/日志目录放置在
/dev/shm/Sylius
中,这在共享目录(主机和来宾之间)的情况下是一个性能提升,但也意味着严格的权限检查(请参见)

在失败的步骤中是否使用open()方法?它似乎是通过URL检查是否在某个页面上,但发现了不同的页面。我面临着同样的问题。我没有意识到这与流浪VM有任何关系(但是是的,我的问题也在VM中)。你解决这个问题运气好吗?如果是的话,你能分享一下答案吗?你在失败的步骤中使用open()方法吗?它似乎是通过URL检查是否在某个页面上,但发现了不同的页面。我面临着同样的问题。我没有意识到这与流浪VM有任何关系(但是是的,我的问题也在VM中)。你解决这个问题运气好吗?如果是的话,你能分享一下答案吗?