我正在尝试安装behat+mink(在kohana框架上,而不是symfony,我将behat放入modules文件夹--我写这个只是以防万一,但我猜这不是导致我的问题的原因)。
我拥有与behat文档中相同的search.feature文件,我将features/bootstrap类更改为:
<?php
use Behat\Behat\Context\ClosuredContextInterface,
Behat\Behat\Context\TranslatedContextInterface,
Behat\Behat\Context\BehatContext,
Behat\Behat\Exception\PendingException;
use Behat\Gherkin\Node\PyStringNode,
Behat\Gherkin\Node\TableNode;
use Behat\MinkExtension\Context\MinkContext;
/**
* Features context.
*/
class FeatureContext extends MinkContext
{
}
当我在CLI中键入“Behat”时,我会得到以下错误:在第80行调用....RawminkContext.php中的非对象的成员函数getSession()。
default:
extensions:
Behat\MinkExtension\Extension:
base_url: http://wikipedia.org
goutte: ~
selenium2: ~
paths:
features: features
bootstrap: features/bootstrap
annotations:
paths:
features: features/annotations
closures:
paths:
features: features/closures
有人能告诉我什么是正确的设置方式吗?也许这里有人也有问题...
顺便说一句。当我使用goutte安装behat时,只使用selenium2驱动程序,我得到的错误是goutte没有安装。但是当我用goutte安装它时,我发现没有fabpot/goutte目录(或者fapbot/,我不记得了,但我猜是第一个:D),所以我删除了所有内容,并用下面的composer.json文件重新安装了behat,也许这也与这个错误有关:
{
"name": "behat/mink-browserkit-driver",
"description": "Symfony2 BrowserKit driver for Mink framework",
"keywords": ["Symfony2", "testing", "browser"],
"homepage": "http://mink.behat.org/",
"type": "mink-driver",
"license": "MIT",
"authors": [
{
"name": "Konstantin Kudryashov",
"email": "ever.zet@gmail.com",
"homepage": "http://everzet.com"
}
],
"require": {
"php": ">=5.3.1",
"symfony/browser-kit": ">=2.0.0,<2.2.0",
"symfony/dom-crawler": ">=2.0.0,<2.2.0",
"behat/behat": "2.4.*@stable",
"behat/mink": "1.4.*@stable",
"behat/mink-extension": "*",
"behat/mink-goutte-driver": "*",
"behat/mink-selenium2-driver": "*"
},
"minimum-stability": "dev",
"autoload": {
"psr-0": {
"Behat\\Mink\\Driver": "src/"
}
},
"config": {
"bin-dir": "bin/"
}
}
推荐的安装Behat+Mink的任何东西,而不仅仅是Kohana,是通过Composer。有关说明,请参阅http://docs.behat.org/quick_intro.html。composer.json中的autoload子句不是必需的。
至于你的模块尝试,KO3.2还没有能力加载PSR-0,所以将它放入模块将不允许它被正确加载。
不要随机复制您的behat.yml-您只需要在您的项目根目录中复制一个。如果您担心,可以通过bin/behat-c/path/to/behat.yml
显式加载您的behat.yml
将composer.json正确设置为具有mink依赖项后,您就可以执行bin/behat-dl
来验证mink是否工作。
然后,您可以执行bin/behat--init
来创建您的特性文件结构。
这将创建一个覆盖Mink定义的FeatureContext,因此添加
require_once __DIR__.'/../../vendor/autoload.php';
class FeatureContext extends Behat\MinkExtension\Context\MinkContext
我使用Selenium进行自动浏览器测试已经有相当一段时间了。除了Firefox,我从来没有想过如何让它在其他任何东西上运行。好吧,现在FireFox将启动,但不会被拉到前面,它只是坐在那里,什么也不做。我觉得这是因为FireFox更新了自己。 我在运行MacOS塞拉。我已经安装并启用了WebDriver 2.48扩展到Safari。 我已经下载并尝试了selenium-server-standa
我想知道是否有一种可能的方法来解析动态值,特别是通过使用behat/mink测试来解析,因为它正在运行具有Selenium2功能的Yml配置文件 文件使用扩展文件,文件中包含Selenium 2 Capabilities参数。 在中:https://github.com/behat/minkextension/blob/2.0/src/behat/minkextension/extension.p
Mink 是开源的 PHP 浏览器/控制器 模拟测试工具。Mink 可以模拟 Web 应用和浏览器之间的交互,测试 Web 应用的行为是否正确。 <?phpuse Behat\Mink\Mink, Behat\Mink\Session, Behat\Mink\Driver\GoutteDriver, Behat\Mink\Driver\Goutte\Client as Goutt
我想使用我的selenium2网格在几个浏览器上运行我的behat测试。我已经设法使它们以不同的behat.yml配置文件在每个环境/浏览器的基础上运行,但我希望配置一个behat配置文件来触发在我的所有节点上的运行。 我的behat.yml配置文件如下所示: 浏览器字段中的数组,config parser不喜欢 具有多个名称的字符串,认为我有一个以字符串sigh命名的浏览器 为我的seleniu
Behat 是个行为驱动的开发(BDD)框架,可以测试业务期望,允许用户编写便于人们阅读的故事驱动代码,描述该应用应该怎样工作。任何人都能快速简单的掌握它的使用方法。
情况是这样的:我正在使用Behat在Symfony上运行验收测试。为此,我使用Geckodriver启动一个Selenium实例,然后运行Behat。本地的一切都很好(很好!)。 但是当它在Github操作上运行时,它会失败。我已经检查了版本,我甚至版本化了gecko驱动程序和selenium.jar文件来使用完全相同的(尽管它们已经存在于github操作上),但是没有什么工作。 所以我正在寻找任