问题标签 [mink]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
symfony - sahi 和 symfony2
我想用 symfony2 测试 behat、mink 和 sahi
所以,在我的 config_test.yml 我有
并在 test.feature
当我执行时我有这个
PHP 致命错误:在第 26 行调用 C:\wamp\ www\Symfony_Standard_2.0.15_2\Symfony\vendor\buzz\lib\Buzz\Client\AbstractCurl.p 中未定义的函数 Buzz\Client\curl_init()
请帮帮我,
symfony - 我不能运行 sahi
可能重复:
sahi 和 symfony2
我想用 symfony2 测试 behat、mink 和 sahi。
在我的文件 config_test.yml 我有
在我的 test.feature 当我使用
结果很好:
但是当我添加@mink:sahi
我得到
你有什么主意吗?
symfony - 水貂痛风司机。无法在 Symfony 2.0 上安装 fabpot/goutte
我正在使用带有 Symfony 2.0.15 的作曲家并迁移到最新的 Behat 2.4。这是在我的composer.json
:
我跑:php composer.phar update --dev
并且有一个错误:
如果我正确理解了这个错误,那是因为fabpot/goutte
包依赖于 Symfony 2.1 包并且不适用于 Symfony 2.0。纠正我,如果我错了。
这是我的behat.yml
:
这是我失败场景的示例:
"When I go to"
- 是 MinkContext 步骤,但"Then the response code should be 200"
- 是来自 Behat\CommonContexts\WebApiContext 的步骤。当我只使用 MinkContext 中的步骤时 -"Then the response status code should be 200"
它工作得很好。
最后的答案是Behat\CommonContexts\WebApiContext
与 Behat 2.4 不兼容。
symfony - symfony2、behat 和 mink:重定向后访问容器
我有一个 behat+mink 场景,其中一个步骤访问一个 URL (mink),并且控制器
- 将某些东西放入容器中的服务中
- 执行重定向到另一个 URL
问题是控制器重定向重置了容器,所以重新构造了服务,下面的behat步骤不能再访问了
有没有办法访问容器?
symfony - 如何在 Mink 中配置 curl 参数?
我正在尝试将 Behat 带入 https 安全项目,并且 mink 在发起 curl 请求时失败。
这个问题可以通过设置这两个 curl 参数来解决:
我知道 Mink 在内部使用 guzzle,它启动 curl 请求。如何使用 curl 选项正确实例化 guzzle 客户端?
phantomjs - 我们网站的功能测试
我正在与Mink / Sahi合作为我的网站编写功能测试套件。
我使用 Firefox 和 Chrome 进行了一组测试,对此我很满意。他们每晚都在我们的 Jenkins 盒子上运行,并且运行良好。
然而,因为我们的 Jenkins 盒子是一个服务器,而 Chrome/Firefox 是 GUI 应用程序,所以我不得不让测试在我的台式机上运行。这很痛苦,因为这意味着我必须每晚都打开它,这不利于环境和成本。另外,如果它在电源、网络或软件方面有任何问题,那么测试就会失败。
所以我想要一些关于切换测试以在 Jenkins 盒子本身上使用无头浏览器的建议。
看来我有三个选择:Goutte、Zombie 和 Phantom(当然,除非有人可以推荐另一个)。以下总结了我到目前为止的进展:
Goutte:这是 PHP 驱动的,因此可以在 Mink 内部运行,无需 Sahi。这听起来很棒,因为 Jenkins 盒子的资源有限,所以我需要安装和运行的越少越好。但是,我需要运行 JS 代码作为测试的一部分,我知道 Goutte 无法做到这一点。这能排除吗?
Zombie:在 Node.js 下运行。不幸的是,我根本无法完成这项工作。我已经安装了 Node、NPM 和 Zombie,但我无法让 Mink 识别它。谁能给我一些比 Mink 网站更清晰的说明,告诉我如何运行它?
Phantom:不幸的是,Mink 没有 Phantom 的驱动程序,所以我必须通过 Sahi 运行它。正如我所说,我宁愿不必在 Jenkins 服务器上安装 Sahi,尤其是因为它还需要作为服务器连续运行。但这是迄今为止我唯一成功的。在 Sahi 下运行它,我可以让我的测试成功运行(虽然不是一致的,这是一个令人担心的问题 - 它似乎随机超时,大约三分之一)。任何人都可以建议一种无需安装 Sahi(或任何其他中间层服务器)即可运行它的方法吗?或者如果我确实需要 Sahi,谁能告诉我如何配置 Jenkins 以在测试套件开始时启动 Sahi 并在结束时停止它?
我真的很感激任何关于如何进行的建议。出于某种原因,这些选择似乎都没有明显的胜利。但是功能测试很重要,所以这一定是一个已解决的问题。对我来说最好的解决方案是什么?
(我知道还有用 Javascript 重写我的脚本以直接与 Zombie 或 Phantom 对话的选项。我不想这样做,因为当它们失败时,我仍然需要看到它们在 Firefox 中运行以查看发生了什么错了,所以像 Mink 这样的跨浏览器界面是理想的——更不用说我已经用 PHP 编写了所有测试!)
感谢您的任何建议。:)
symfony - 使用 Behat 和 Mink 测试 Symfony2 的注册系统
我的问题与 Symfony2 中某些应用程序的测试有关。我使用 Behat 和 Mink 编写测试,但注册系统的测试存在一些问题。
我想在用户提交注册表后查看电子邮件,然后点击此电子邮件中的激活链接。
我找到了一个关于电子邮件测试的简短教程:http:
//docs.behat.org/cookbook/using_the_profiler_with_minkbundle.html
本教程中的解决方案只有在 symfony 的配置文件中将“intercept_redirects”设置为“true”时才有效,但我已经有一些测试需要将此变量保留为“false”,所以我的问题是......是否可能临时更改此值,仅用于一个测试,还是我必须将此值更改为“true”,然后更新所有测试?
您如何测试您的注册系统,以及如何为它们编写测试?
behat - 为 Mink 创建步骤
我是 Mink、Behat 等的新手,所以我需要帮助。
我有一个包含一些行的表,我想检查是否删除了一行。
在我的场景中,我有这样的事情:
我该怎么做?我怎么做“响应不应包含一行的某些值”?
我不知道这对 Mink 是否可行,或者我需要使用统一测试。
php - Behat with Jenkins - 如何提供 PHP 应用程序?
我最近开始在一个使用 Slim 微框架的 PHP 项目中使用Behat和Mink我的 Behat 测试工作正常,但我想将它们作为我构建的一部分运行,它使用 Sebastian Bergmann 的 Jenkins-PHP 模板。
为此,我希望我需要运行一个 Web 服务器来为 Slim 应用程序提供服务。显而易见的答案似乎是 PHP 5.4 的内置 Web 服务器,但我仅限于 PHP 5.3。
我目前唯一的想法是有一个部署阶段,如果 Ant 构建通过,Jenkins 会在服务器上部署一个工作区,然后针对它运行 Behat 测试。感觉这将是很多工作并且可能会不稳定,而且它需要启动另一个 VM,我希望避免这种情况。我们希望在大量不同的项目中使用 Behat,因此“一次性”的东西会更可取。
解决此问题的最佳方法是什么?
behat - 如何将对象传递给 behat 步骤?
我想知道是否可以将对象传递给 Behat 的步骤。
例如,我的表单的一个字段将用一个对象填充。它填充了一个您可以在建议框中选择的对象。我知道 sahi 或 selenium 的另一种方式,但我不想要这样,我想要这样的步骤:“当我用对象填写“字段”时”。这是可能的?
对不起,如果我没有很好地解释它。