问题标签 [goutte]

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 投票
1 回答
215 浏览

linux - 某些文件的 require_once 在本地 Windows 上工作,而不是在开发 linux 机器上

我正在尝试将 Goutte http://github.com/fabpot/Goutte集成到我现有的 symfony 1.4 项目中,但遇到了问题。

我的所有东西都在我的本地 wamp 服务器上运行,这里有两行有问题:

现在进行调试,我在 require_once 语句之前和之后放置了一个 print 语句,并且第二个 print 语句不会被触发。不会生成错误日志 - 错误是无声的并且非常令人沮丧。

关于为什么会发生这种情况的任何想法?

0 投票
1 回答
1332 浏览

php - 如何从 PHP 脚本运行 PHPUnit?

我正在使用 PHPUnit 和 Goutte 创建一个自定义测试应用程序。我想在我自己的引导文件中加载 Goutte 库(以及测试所需的任何文件),然后在全部引导完成后启动 PHPUnit 测试运行器。

我不确定如何在不从外部调用 phpunit 脚本的情况下执行此操作(这将是一个单独的过程,并且无法看到我的引导库)。有没有人做过这样的事情?最好的方法是什么?

0 投票
1 回答
2003 浏览

phpunit - 使用 Goutte / Symfony CssSelector 组件按属性选择节点

我正在使用Goutte(它是 Symfony 功能测试组件的独立包)来测试 Wordpress 主题:

第一个测试通过但:

所以总结一下我的问题:
如何使用 Goutte / Symfony CSS Selector 组件按属性获取节点?

0 投票
1 回答
1916 浏览

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 不兼容。

0 投票
1 回答
520 浏览

symfony - 将集合表单添加到 DomCrawler

现在形成,当我想对表格进行功能测试时,我这样做是:

我认为要以这种方式添加集合形式:

但它不工作!

DomCrawler/Goutte 支持 Collection 还是有特定的处理方式?

0 投票
1 回答
1085 浏览

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 编写了所有测试!)

感谢您的任何建议。:)

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 投票
2 回答
601 浏览

php - 我在我的 php 应用程序中包含一个 phar 文件(goutte.phar)。当我尝试点击 url 时,我得到 Connection to the server was reset 错误

我需要更改任何特定设置php.ini以允许服务器包含文件吗?

0 投票
1 回答
1065 浏览

web-scraping - 使用 Behat/Mink 时加载 GoutteClient 时出错

我正在尝试使用 Behat/Mink 来加载网站。

我使用 Composer 进行安装,这是我的 composer.json:

为了进行安装,我运行了以下命令:

一切安装顺利,没有任何错误消息。

这是我的 index.php 文件:

我尝试使用以下命令运行它:

但是我收到以下错误消息:

PHP 致命错误:在第 14 行的 index.php 中调用未定义函数 GotteClient()

指的是这一行:

安装是使用以下文档完成的:

http://mink.behat.org/

该示例是按照文档完成的:

https://github.com/Behat/Mink

关于我可能做错了什么的任何建议?

0 投票
1 回答
3361 浏览

php - Behat & Mink : 使用测试环境

我目前正在使用 Behat 和 Mink & Goutte Driver。当我尝试通过文件(来自Symfony2app_dev.php标准版的典型文件)在我的开发环境中使用它时,我的测试工作得很好(要点)。app_dev.php

但是,如果我想使用一个app_test文件(与app_dev文件相同,除了环境参数设置为"test"而不是"dev",并且禁用调试模式),在注销场景中,Goutte 似乎可以'找不到“user_signup”标识符,并且在“登录”场景中,找不到“根”文本节点。事实上,当我使用 aprint last response时,似乎用户只是没有登录:我仍然看到登录用户的表单......

当我在我的开发环境(app_dev)或产品环境(app)上时,一切似乎都工作得很好……知道吗?

(如果您认为需要其他文件,请告诉我)。