Selenium与Behat和Mink一起使用时如何工作?

时间:2018-06-07 22:51:05

标签: php selenium behat mink

我的任务是在Drupal 8网站上运行测试。

我有一个linux盒子。

我已成功配置Behat + Mink。 当我使用goutte中的默认behat.yml时,我的测试运行正常。但是当我添加@javascript以便它与selenium2一起运行时,运行时间太长(登录测试最多需要25分钟)。

所以我阅读了文档,看看我是否做错了什么但不能理解它是如何工作的。

我已经安装了Selenium for Python3,我可以做一个非常简单的get并断言一个网页,它应该在headless模式下使用Firefox,它运行得有点快(不到一个)分钟),所以我不知道在我的PHP设置中使用composer会出现什么问题。

问题是,我是否需要Selenium Server所有教程谈论? (那些教程已经老化)。在Selenium文档中,它说Selenium Server是可选的,我只需要这样做Non-remote。这会是什么? Non-remote是否意味着它不应该在专门的服务器中运行?我只需要在托管应用程序的机器上运行我的测试。

另外,为什么要进行简单的测试呢?我可以查看哪些日志?

1 个答案:

答案 0 :(得分:0)

当您在本地PC上运行时,您需要selenium server + driver用于特定浏览器。 您需要运行selenium服务器,因此您需要启动一个(本地/非远程)或指向具有selenium服务器(远程)的计算机,例如在使用服务器时使用BrowserStack或SauceLabs。

@javascript让他知道启用JS启用的驱动程序。

如果运行登录测试需要花费很多时间,那么你做错了,也许你有一些固定的等待或其他条件永远不会真实,它们一直运行到超时。

使用-vvv标志运行Behat,这是为了增加日志的详细信息。 逐步调试并查看问题所在,首先尝试使用本地PC。

你应该检查Behat教程,不同的框架以不同的方式处理,有些只需要驱动程序,有些驱动程序和selenium服务器,有些都没有,因为它们有脚本可以自动下载和启动服务器。

如果您不熟悉自动化,还要检查一些最佳实践。

其他相关问题是this one

启动硒检查this