问题标签 [symfony-panther]

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 回答
444 浏览

symfony - 如何使用黑豹获取容器

我试图在我的测试用例中获取容器。

&

那么如何在 Panther 测试客户端中获取容器呢?

0 投票
1 回答
2177 浏览

php - Symfony Panther:无法使用表单登录

我正在使用 Symfony Panther 测试一个应用程序。我想登录的用户在匿名条件下没有提供元素。这是我的测试课:

相关模板 ( connexion.html.twig) :

_nav.html.twig以及代表导航栏的模板:

Déconnexion在开发模式下,用户可以使用导航栏中的链接进行身份验证和注销。但是命令php bin/phpunit tests/Functional/SecurityControllerTest.php说:InvalidArgumentException: The current node list is empty.指向这一行:$link->click();表明Déconnexion链接不可见。那个用户没有登录吗?如何解决该问题并访问为经过身份验证的用户提供的元素,例如Déconnexion链接?

0 投票
2 回答
920 浏览

symfony4 - 如何让 Symfony / Panther 在测试中使用测试环境?

使用 Panther-Client 执行功能测试时,在后台启动的网络服务器不使用“测试”环境。相反,它似乎使用了 .env 文件中提供的参数(当前指向“dev”环境),因此我不能使用测试数据库进行功能测试。

从技术上讲,我可以理解这种情况,因为启动的 php-webserver 对测试客户端使用的测试环境一无所知,只看到 .env 文件。

是否有任何我忽略的选项可以告诉 php-webserver 在测试环境中启动,或者是否有人找到了解决此问题的另一种解决方案?

(硒测试似乎也存在同样的问题,但我也没有找到解决方案。)

0 投票
1 回答
1023 浏览

php - Symfony / BrowserKit / Panther -- “不要安装 symfony/symfony v3....”

我很难解决与 Symfony、BrowserKit 和 Panther 无头测试库相关的作曲家依赖管理问题。

我有三个基本环境,其中两个是相互关联的。

  1. 本地 Ubuntu 桌面,php 7.2.15 -- WORKS
  2. 在 Ubuntu 本地 Ubuntu 桌面上运行的本地 Virtualbox,php 7.2.15 -- 失败
  3. 远程登台服务器,php 7.2.10——失败

命令:

错误:

作曲家.json

但是,如果我从 composer.json 的“require-dev”中删除以下行

然后,它适用于所有三种环境!

自然,在运行每个测试之前,我会删除我的 ./vendor 文件夹和 composer.lock 文件。

任何帮助是极大的赞赏!

0 投票
0 回答
435 浏览

symfony - Symfony Panther - 功能测试中的回滚数据库事务

我想回滚在 symfony/panther 测试中进行的所有查询。

使用普通的 WebTestCase 我可以通过

由于没有方法,如何与Panther$client->disableReboot()实现相同的效果?

0 投票
1 回答
1008 浏览

image - 有没有办法用 Symfony/Panther 测试图像上的链接

谢谢你帮我解决这个问题:)

我正在使用 Symfony/Panther 在 symfony 应用程序上开发一系列测试。我正在寻找一种方法来测试我的徽标是否重定向到正确的页面。我看到它的方式是,我必须测试链接,然后单击它来测试重定向。panther 文档非常详细地介绍了链接测试,请参见此处:

https://symfony.com/blog/introducing-symfony-panther-a-browser-testing-and-web-scraping-library-for-php

我还看到了如何通过 DomCrawler np 找到图像...

所以我尝试过的是使链接测试方法适应图像,当然它不起作用,因为图像不是该方法所期望的字符串

因此,如果有人知道如何测试图像链接上的重定向,那就太棒了。提前谢谢

运行测试显示此错误:

DevTools 监听 ws://127.0.0.1:12947/devtools/browser/d3a0e57f-2b00-4eb3-97e3-64986cf0495e E 1 / 1 (100%)/test1//test2//test3//test4/

时间:11.17 秒,内存:38.00MB

有 1 个错误:

  1. App\Tests\assertLogoIsvisible::test 类 Symfony\Component\Panther\DomCrawler\Image 的对象无法转换为字符串
0 投票
1 回答
228 浏览

javascript - 处理 javascript 警报

我从 2 天开始就开始玩 panther,这是一个很棒的工具,但我对一个场景有一点问题。

我想从我的应用程序中删除一篇文章。过程如下:我按下一个按钮,出现一个警报以确认。

问题是 WebDriver 抛出一个UnexpectedAlertOpenException ok 所以我把它添加到客户端$client->getWebDriver()->switchTo()->alert()->accept();

但现在我得到了一个NoAlertOpenException: no alert open,紧接着这条线。

我很尴尬

这是我的测试:

有人知道如何处理这个吗?谢谢

0 投票
0 回答
172 浏览

phpunit - 使用 Panther 进行 HTTP 身份验证

我正在尝试将一些测试从 WebTestCase 迁移到 PantherTestCase。对于其中一些,我需要使用 HTTP Auth 进行身份验证。

我曾经做过以下事情:

如果我使用 createPantherClient,登录/密码选项似乎被忽略:

我也尝试将登录名/密码作为第一个参数传递,但它似乎也不起作用。

我一直在寻找有关该主题的一些文档,但找不到任何东西。Panther 如何处理 HTTP 身份验证?

谢谢

0 投票
2 回答
1133 浏览

php - Panther Chrome WebDriver:全屏?

在我的 symfony 4 应用程序的功能测试中,我使用带有 PANTHER_NO_HEADLESS=1 的 Chrome Webdriver 来查看会发生什么。

我的问题是:Chrome 浏览器从调试工具(F12)开始,而不是全屏。这是一个问题,因为我想测试仅出现在全屏上的元素。

我的测试:

命令 :

然后

如何在没有调试工具的情况下从全屏开始?

0 投票
2 回答
2047 浏览

selenium - 无头谷歌浏览器:如何防止网站知道他们的窗口是否聚焦

有没有办法阻止网站知道它们是否可见?

也许是命令行标志?我在这里检查过,但找不到任何合适的https://peter.sh/experiments/chromium-command-line-switches/

我认为他们使用页面可见性 API:https ://developer.mozilla.org/en-US/docs/Web/API/Page_Visibility_API