pararius / panther-actions
此包已被废弃,不再维护。没有建议的替代包。
PHP和Symfony的浏览器测试和网页抓取库的扩展。这为Symfony Panther添加了额外的断言和动作。
v0.1.2
2021-12-21 08:59 UTC
Requires
- php: >=8.0
- ext-dom: *
- ext-libxml: *
- ext-zip: *
- phpunit/phpunit: ^9.5
- symfony/panther: ^2.0
Requires (Dev)
- behat/behat: ^3.8
- pararius/cs: ^0.1.0
- phpstan/extension-installer: ^1.1
- phpstan/phpstan: ^1.0
- phpstan/phpstan-phpunit: ^1.0
- symfony/dotenv: ^5.3 || ^6.0
- symfony/framework-bundle: ^5.3 || ^6.0
- symfony/security-core: ^5.3 || ^6.0
Suggests
- behat/behat: To integrate Symfony Panther with behat.
- symfony/framework-bundle: To integrate logging in via Symfony.
- symfony/security-core: To integrate logging in via Symfony.
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是一个方便的独立库,用于抓取网站和使用真实浏览器运行端到端测试。
测试覆盖率
已添加一些单元测试以确保功能。并非所有函数都经过单元测试。我们将在以后添加更多的测试覆盖率。为了便于开发和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。