【问题标题】:How does Selenium work when used with Behat and Mink?Selenium 在与 Behat 和 Mink 一起使用时如何工作?
【发布时间】:2018-06-08 16:27:28
【问题描述】:

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

我有一个 linux 盒子。

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

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

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

问题是,我需要Selenium Server 所有教程都在谈论吗? (那些教程已经过时了)。在 Selenium 文档中,它说Selenium Server 是可选的,我只有在执行Non-remote 时才需要这个。这会是什么? Non-remote 是否意味着它不打算在专用服务器上运行?我只需要在托管应用程序的机器上运行我的测试。

另外,为什么运行一个简单的测试要花这么多时间?我可以查看哪些日志?

【问题讨论】:

    标签: php selenium behat mink


    【解决方案1】:

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

    @javascript 是为了让他知道在启用 JS 的情况下启动驱动程序。

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

    使用-vvv 标志运行Behat,这是为了增加日志的详细信息。 一步一步调试,看看问题出在哪里,先在本地电脑上试试。

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

    如果您不熟悉自动化,还可以查看一些最佳实践。

    其他相关问题是this one

    对于启动硒检查this

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-01-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-02-09
      • 2018-05-30
      相关资源
      最近更新 更多