我的任务是在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
是否意味着它不应该在专门的服务器中运行?我只需要在托管应用程序的机器上运行我的测试。
另外,为什么要进行简单的测试呢?我可以查看哪些日志?
答案 0 :(得分:0)
当您在本地PC上运行时,您需要selenium server
+ driver
用于特定浏览器。
您需要运行selenium服务器,因此您需要启动一个(本地/非远程)或指向具有selenium服务器(远程)的计算机,例如在使用服务器时使用BrowserStack或SauceLabs。
@javascript
让他知道启用JS启用的驱动程序。
如果运行登录测试需要花费很多时间,那么你做错了,也许你有一些固定的等待或其他条件永远不会真实,它们一直运行到超时。
使用-vvv
标志运行Behat,这是为了增加日志的详细信息。
逐步调试并查看问题所在,首先尝试使用本地PC。
你应该检查Behat教程,不同的框架以不同的方式处理,有些只需要驱动程序,有些驱动程序和selenium服务器,有些都没有,因为它们有脚本可以自动下载和启动服务器。
如果您不熟悉自动化,还要检查一些最佳实践。
其他相关问题是this one。
启动硒检查this。