我有一个运行测试到Drupal 8网站的任务。
我有一个linux盒子。
我已经成功配置了Behat + Mink。当我在goutte
中使用默认的behat.yml
时,我的测试运行正常。但是当我添加@javascript
以便它与selenium2
一起运行时,运行时间太长(登录测试最多25分钟)。
所以我阅读了文档,看看我是否做错了但却无法理解它是如何工作的。
我已经安装了Selenium for Python3,我可以做一个非常简单的get
和断言的网页,它应该在headless
模式下使用Firefox,它运行得有点快(不到一分钟),所以我不知道什么可以使用composer
在我的PHP设置中出错了。
问题是,我是否需要Selenium Server
所有教程谈论? (那些教程已经老化)。在Selenium文档中,它说Selenium Server
是可选的,如果做Non-remote
,我只需要这个。这会是什么? Non-remote
是否意味着它不是要在专门的服务器上运行?我只需要在托管应用程序的机器上运行我的测试。
另外,为什么要进行简单的测试呢?我可以看一下哪些日志?
当您在本地PC上运行时,您需要selenium server
+ driver
用于特定浏览器。您需要运行selenium服务器,因此您需要启动一个(本地/非远程)或指向具有selenium服务器(远程)的计算机,例如在使用服务器时使用BrowserStack或SauceLabs。
@javascript
是这样的,他知道启动JS启用驱动程序。
如果运行登录测试需要花费很多时间,那么你做错了,也许你有一些固定的等待或其他条件从来都不是真的,它们一直运行到超时。
用-vvv
标志运行Behat,这是为了增加日志的细节。逐步调试并查看问题所在,首先尝试使用本地PC。
您应该检查Behat教程,不同的框架以不同的方式处理,有些只需要驱动程序,有些驱动程序和selenium服务器,有些都没有,因为它们有脚本可以自动下载和启动服务器。
如果您不熟悉自动化,还要检查一些最佳实践。
其他相关问题是this one。
开始硒检查this。