pararius/panther-actions

此包已被废弃,不再维护。没有建议的替代包。

PHP和Symfony的浏览器测试和网页抓取库的扩展。这为Symfony Panther添加了额外的断言和动作。

v0.1.2 2021-12-21 08:59 UTC

This package is auto-updated.

Last update: 2023-06-23 11:41:02 UTC


README

此项目可用于以下两个原因

  • 在Behat中使用Symfony Panther。
  • 通过一系列额外的动作扩展Symfony Panther。

最初,我们开发这个包是为了替换Behat Mink。Mink有更新缓慢的历史,当你想要将项目升级到最新版本的PHP时,这可能会带来麻烦。我们创建了一个与许多常用Behat Mink步骤具有相同签名的Behat上下文。这可以帮助你用Symfony Panther替换Behat Mink,同时仍然使用Behat的表达式语法。

在新的项目中,我们不想使用Behat,而是选择了PHPUnit。在那里,我们开始使用Symfony Panther,但很快就发现,我们没有Behat Mink中获得习惯了的大量动作。因此,我们修改了这个包,使其也可以在不使用Behat的项目中使用。

什么是Symfony Panther?

Panther是一个方便的独立库,用于抓取网站和使用真实浏览器运行端到端测试。

Symfony Panther

测试覆盖率

已添加一些单元测试以确保功能。并非所有函数都经过单元测试。我们将在以后添加更多的测试覆盖率。为了便于开发和CI,还添加了docker和docker compose配置。

在不使用Symfony框架的情况下使用此工具

Symfony Panther可以在不使用Symfony框架的情况下使用。此包也可以在不使用Symfony框架的情况下使用。

安装

有关如何安装和配置Symfony Panther的更多说明,请参阅此处

您需要以下环境变量以确保所有组件协同工作

PANTHER_APP_ENV=panther
PANTHER_NO_SANDBOX=1
PANTHER_CHROME_ARGUMENTS="--disable-dev-shm-usage"
PANTHER_ERROR_SCREENSHOT_DIR=./var/error-screenshots
PANTHER_EXTERNAL_BASE_URI=http://test-webserver:9080 # Change this to an address that serves your web-app

以下“如何使用”指南中有更多说明。

如何使用

故障排除

如果您遵循了Symfony Panther文档中的说明,则一切应该正常。如果不正常,那么您可能遗漏了

  • 请确保测试Web服务器正在运行。对于Docker示例,您可以检查此项目中的docker-compose.yaml文件。
  • 请确保您已安装chrome或firefox。对于Docker示例,您可以检查此项目中的Dockerfile。