问题标签 [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.

0 投票
4 回答
560 浏览

php - 使用 Behat/Mink 时出现类型错误

以下代码的执行:

产生错误消息:

在参照:

这段代码以前工作得很好。有任何想法吗

上下文:这是 Behat/Mink 功能的一部分

0 投票
1 回答
1749 浏览

kohana - behat + mink 的问题

我正在尝试安装 behat + mink(在 kohana 框架上,而不是 symfony 上,我将 behat 放入模块文件夹中 - 我写这个以防万一,但我想这不是导致我的问题的原因)。

我拥有与 behat 文档中相同的 search.feature 文件,我将 features/bootstrap 类更改为:

当我在 CLI 中键入“behat”时,我收到以下错误:在第 80 行的 .....RawMinkContext.php 中的非对象上调用成员函数 getSession()。

我在某处读到它是导致此错误的 behat.yml 文件。我认为正确的做法是在已安装的 behat 文件夹的根目录中创建新的 behat.yml 文件并将此代码放入其中:

但是当然它给了我同样的错误。我尝试了很多配置:仅复制扩展部分,将默认值更改为上下文,将相同的内容复制到其他三个 behat.yml 文件(vendor/behat/behat、vendor/behat/monk 和 vendor/behat/monk -意图) - 没有工作。

有人能告诉我设置这个的正确方法是什么吗?也许这里的某人也有这个问题......

顺便提一句。当我安装 behat withough goutte 时,仅使用 selenium2 驱动程序,我收到未安装 goutte 的错误。但是当我用 goutte 安装它时,我收到了没有 fabpot/goutte 目录(或 fapbot/,我不记得了,但我想这是第一个 :D)的错误,所以我删除了所有内容并重新安装了 behat下面的 composer.json 文件,也许这也与这个错误有关:

0 投票
2 回答
3992 浏览

selenium - Mink:在@BeforeStep 中等待页面加载

我想在依赖于 jQuery 的 @BeforeStep 钩子中的页面上执行一些 javascript。但是当时没有定义jQuery,实际上页面是空白的。

这是我想要实现的目标:

我想也许我可以等待页面首先加载 jQuery(注释行),但事实并非如此。似乎在处理该钩子之前执行已停止。

在 behat/mink 生态系统中,在页面上执行 javascript 的正确位置是什么?

0 投票
2 回答
1806 浏览

windows-7 - 如何在 Windows 7 64 位中安装 behat 和 mink 驱动程序?

我正在尝试使用http://mink.behat.org/上的说明设置 mink 以使用 behat 。正如您将看到的,大约 2 个屏幕下方告诉我们 mink 已安装但没有驱动程序。我认为这意味着它不能与任何东西交谈。

然后它为新手提供了一个 composer.json 文件。我试过了,当我跑的时候

这就是我得到的。

我曾尝试将最低稳定性调整为 dev,但这并没有帮助。

我在 Windows 7、64 位下运行 - 我必须做很多调整才能安装 bhat 和 mink。我确实认为他们有 - 它的驱动器没有。

感激地收到帮助。伊恩

0 投票
1 回答
3576 浏览

behat - Behat 2.4 升级问题,或“behat”下无法识别的选项“extensions” - 尝试通过 behat.yml 激活 sahi 扩展时出错

Behat 的东西相当新,我遇到了一个我似乎无法绕过的障碍。我一直在盯着文档,在谷歌上搜索就像这是我的工作,并尽我所能避免把我的电脑从防火梯上扔掉。

我正在处理一个相当复杂的项目,而我不是设置它的人。所以我在某些方面有点迷茫。

目前,我正在尝试使用 Sahi 驱动程序,因为 selenium 并没有为我需要测试的一些动态形式削减它。我可以使用默认的 selenium 驱动程序很好地运行测试,但测试失败,因为它没有充分触发表单输入上的 JavaScript 事件。具体来说,它将与该链接中涵盖的解决方法一起使用,但前提是我将浏览器放在焦点上。这意味着当测试在酱汁中或通过 jenkins 与 xvfb 运行时,它会失败。

我解释这一切只是因为这是我的更大问题,我试图通过使用 Sahi 驱动程序来解决这个问题。这让我想到:

这就是我尝试按照文档所说的方式为我的 bahat.yml 中的特定配置文件激活 Sahi 驱动程序时得到的结果。

这是默认配置文件和我当前在我的 behat.yml 中使用的配置文件(稍作修改以供公众使用):

Fwiw,测试在一个 vm 上,我 ssh -X 进入,然后使用运行测试

当我使用默认的 selenium 驱动程序和 @javascript 标签时,浏览器会弹出并且测试运行并通过(当然,假设我保持浏览器处于焦点)。

我使用 composer 安装了额外的驱动程序:

我已经添加use Behat\Mink\Driver\SahiDriver;到我的 MinkContext.php、EnvironmentContext.php 和 FeatureContext.php,虽然我猜这可能是矫枉过正或没有必要。不过,在这一点上似乎没有什么不同。无论有没有它,我都会遇到同样的错误。

我还添加了一个sahi.php位于 features/bootstrap/mink 中的:

exensions我想也许出于某种原因在 features/bootstrap 中添加一个目录可能会有所帮助。甚至在其中插入了一个名为sahi.php. 那没有多大帮助。

我认为这涵盖了一切。提前感谢您的帮助,如果其他地方对此有所帮助,请指导我,因为我已经花了无数个小时寻找并没有找到任何可以帮助我的东西。

更新:

我按照此https://lestbddphp.wordpress.com/2012/08/31/behatcomposer/卸载了旧版本的 behat、mink 和 gherkin,并安装了 2.4 等

我一直在通过文档中的“从 Behat 2.3 迁移到 2.4”。(抱歉,不允许我发布更多链接,但它在 Behat 官方文档中。)

我的composer.json

behat.yml按照指示将文件移动到项目的根目录。我将我的default个人资料更新为:

虽然我不完全确定这就是我需要的。只需按照文档中给出的示例进行即可。

我更新了我vendor/autoload.php的替换require_oncerequire

但我对此有点困惑,因为该文件与 docs 中的示例代码不同。如果我要在此处的文档中添加该行,而不是已经存在的内容,那么它只会加载自己。(我试过了。它吐了。)我是不是完全密集,还是这里的措辞令人困惑/误导?我做对了吗?

正如我之前提到的,我有 3 个上下文文件features/bootstrap

通过 cli 运行测试时,我将它传递--profilebehat.yml. 在几乎所有的配置文件中,FeatureContext都使用了。

FeatureContext然后得到EnvironmentContextand MinkContext,据我所知。所以,理论上,一切都应该在那里工作。

只是它不是。

在我添加所有 Symfony 的东西之前,我得到了这个:

这就是为什么我通过作曲家添加 Symfony 的东西。

还可能值得注意的是:当我忘记通过作曲家安装 Symfony 的东西之前给它传递一个 --profile 时,我得到了这个:

我想这是可以预料的。

所以我现在很茫然。想法?

我将继续努力,看看我是否能弄清楚,但任何想法/输入将不胜感激。

再次更新:

从 yml 中删除扩展部分给了我这个:

behat.yml 的当前状态:

0 投票
2 回答
2204 浏览

symfony - Behat、mink 和 goutte:当前 URI 必须是绝对 URL

我在 Behat 和 Mink 方面遇到了一些问题。使用的驱动程序是 Goutte。我正在尝试测试我的 Symfony 2.1 应用程序。

我的behat.yml

我的test.feature

当我尝试执行测试时(在 Windows 7 上):

测试停止于

然后我按“_submit”

出现此错误:

我已经尝试了几乎所有可能的 base_url 路径,但我没有设法让它工作。

你知道如何解决这个问题吗?

我尝试提交的表格:

0 投票
1 回答
4068 浏览

php - 如何在 behat 中激活 mink

我正在尝试一起使用 behat 和 mink,阅读该链接:

http://docs.behat.org/cookbook/behat_and_mink.html#method-1-composer

并尝试在 Behat 框架中激活 Mink,但它对我不起作用:(

这是文本表格手册

我在想他在说什么 /vendor/behat/mink-extension/behat.yml

我已将这些行添加到该文件中

但是当我在做的时候,$bin/behat -dl我只能看到

似乎 mink-extension 没有激活......但是我如何激活它,如果我做了手册中写的一切:(

PS我只是试图在全​​新的干净地方(新文件夹)中按照说明(从这里http://docs.behat.org/cookbook/behat_and_mink.html),但它不起作用它向我显示下一个错误

但是在教程中没有提到路径和 yml 修改 :( 也许是否存在任何更新的教程版本?

根据错误消息,我必须在 bootstrap 文件夹中创建一些 php 文件,但教程中没有描述 :( 奇怪

解决了:

最后它现在可以工作了:)谢谢

0 投票
1 回答
2730 浏览

behat - 步骤 url 应与 Behat 匹配

我正在测试 Mink 的步骤:那么 url 应该匹配“pattern”

我的网址有点像“/test/34kUñlj”,这是一个 _blank 目标。这意味着当我点击一个链接时,它会打开一个新窗口,并且 URL 是“/test/34kUñlj”。

我正在使用sahi驱动程序。/test/ 之后的模式是随机散列。

第一个问题是:url应该匹配的步骤被标记为未定义。我查看了 Mink 的 api,发现这一步不是“”,所以我尝试了这个:然后 url 应该匹配 /test/ñljñl23并且仍然将其标记为未定义。

第二个:为什么我跟着打开的新窗口?

最后:该网址“/test/342lñasjf”的模式如何。我使用“/test/\d+”

谢谢

0 投票
2 回答
3957 浏览

php - Behat Mink webdriver 会话在套件中的每个功能后都被销毁

我正在尝试使用 behat BDD 和 Mink 与 selenium webdriver for php 自动化 Sugarcrm 功能。我已经正确安装了它们,并且能够一起运行 behat 和 mink。例如检查登录到sugarcrm 作为一项功能。

现在的问题是当我创建两个功能文件时,分别是 login.feature 和 setup.feature。Behat 成功地在浏览器中自动执行登录过程,但一旦切换到需要从以前的功能维护登录会话的 setup.feature,它就会破坏会话并返回登录窗口。因此,第二个功能测试总是失败。

我如何为我的功能套件中的每个功能维护会话?

只是告诉你们,我也在一个功能文件中尝试过它们作为不同的场景,但没有运气,因为同样的事情正在发生

如果有人知道,请帮助我。

0 投票
1 回答
2259 浏览

selenium - Mink 与 Selenium2:遵循所有重定向

如何在做一些断言之前强制 Selenium2 遵循所有重定向?

我想我可以简单地等待:

问题是无论我等待多久,我总是在“/auth”页面上结束,而不是“/main”。

更新:事实证明问题是神话般的,硒没有做任何特别的事情,并且浏览器默认情况下会像往常一样遵循重定向。在我的情况下,应该产生重定向的页面实际上是发送 200 响应。