问题标签 [codeception]
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.
php - Codeception API TestGuy 在 SubmitForm 上发送空帖子
首先,对不起我的英语!
我正在使用 codeception 编写功能测试,我正在使用 ZF2 模块,到目前为止,所有东西都运行良好。当我尝试提交表单时出现问题,测试似乎正确发送参数,但 $_POST 始终为空。
我的 ExampleCept.php
vendor/bin/codeception run --debug
输出
用户控制器::loginAction()
请注意,我的操作中的 var_dump 行是在“* 我提交表单”之后调用的,所以 POST 来了!
那么,谁能帮帮我?谢谢!
已编辑
我已经用 WebGuy API(接受)尝试了相同的测试,并且成功了。但是,测试必须由 Jenkins 执行,并且 WebGuy 需要一个 http 服务器来运行,那么我真的需要 TestGuy 测试工作
php - Zend Framework 2 在重定向后在 GET 上发送 302 响应,在运行代码接收测试时
我正在使用 Codeception TestGuy 在我的 ZF2 应用程序上运行功能测试,到目前为止,所有的东西都运行良好,但是我现在在重定向方面遇到了麻烦......当应用程序重定向时,我收到以下错误消息:Maximum function nesting level of '100' reached, aborting!
.
好的,它必须在循环中。经过几个小时的调查,我发现了这个错误的可能原因。FollowingRedirect
测试套件是基于 HTTP 响应代码的,然后在重定向到页面 X 的过程中,应用程序发送了 302 响应,下一个请求应该是页面 X 上的 GET,并且期望得到 200 响应,对吗?但是页面 X 上的 GET 也会返回 302 响应,但在浏览器上 GET 会返回 200 响应。
如果我$this->getResponse()->setStatusCode(200);
执行 X 页面操作,它在浏览器和测试中都可以正常工作。我需要setStatusCode
每次重定向还是这是 ZF2 的错误?
提前致谢!PS对不起英语:D
php - Codeception:从数据库中清理测试数据
我一直在用 Codeception 编写一些单元测试,并且我的数据库已经被测试数据过度运行。在阅读文档时,我发现它说:
每次测试后都会清理和填充数据库
有人知道 yaml 文件中是否有任何内容,或者我需要在拆解方法中添加什么内容?
这是我的测试:
php - Codeception 代码覆盖率 - file_get_contents 异常 (c3/report/clear)
我将Codeception与Laravel 4一起使用。特别是我正在尝试使用远程代码覆盖,以便我可以在代码覆盖结果中包含验收测试。
配置了带有 remote_enable 的 XDebug,并安装了c3.php并将其包含在“public/index.php”中。
在 Windows 上,一切都按预期工作。但是在 Ubuntu 12.04 LTS(使用 PHP5.4)上,我得到了这个异常:
我究竟做错了什么?
php - 使用 Codeception 检查外部重定向
我想检查这样的事情:
但我得到错误:
想法只是检查用户是否被重定向到外部资源。
php - Codeception 多个测试,1 个脚本
我想我可能把概念弄错了,或者没有正确地思考某些事情。我正在寻找一种连接到数据库的方法,然后为表的每一行运行硒测试(在 phantomjs 中)。测试是检查定制 CMS 上的损坏图像,并且可以应用于任何 CMS。
我基本上想通过从数据库加载它们的 ID,然后为每个 ID 运行单独的测试来为每个页面(特定类型)运行验收测试。
这是我到目前为止所拥有的:
这在某种程度上是有效的,因为它一直执行到第一次失败(因为它作为 1 个测试运行,有很多断言)。
如何将此作为单独的测试运行?
symfony - Codeception 中的捆绑设置
我尝试为我的 Symfony2 项目设置代码接收,该项目已经有 4 个工作包及其 PHPUnit 测试用例。现在我想添加代码接收测试用例,特别是对于验收测试,但是当我“引导”代码接收时,我发现所有生成的代码都在我的主要结构中。由于我的应用程序已经被组织成包,我想为我的测试用例保留这个概念。特别是因为我的包中已经有我的 PHPUnit 测试用例。官方的 s2 codeception 并没有真正涵盖这一点。所以对我来说出现了一些问题:
- 如何设置它在我的包中工作的代码接收
- 如何使用一个命令运行所有现有的 PHPUnit 测试用例和我的 codeception 测试用例?
cookies - 我无法使用 codeception 和 Selenium 登录
我有一个小问题,我正在尝试使用 Codeception 来运行我的第一个测试阶段。为此,我使用 Selenium2 和 PrestaShop。
我尝试实现的第一步是登录 PrestaShop 的后台。
但似乎它不想连接到 PrestaShop Backoffice。我被重定向到登录页面!
有谁知道这可能来自哪里?似乎有一些关于 cookie 或会话的东西,但我不知道如何解决这个问题!
编辑:这是我的代码:
Selenium.suite.yml :
密码接收.yml
在文件夹 tests/Selenium 我有 PrestaShopGlobalCest.php
_bootstrap.php
在测试/助手/硒我有
PrestaShopGlobalHelper
php - 使用 PhpBrowser 的 Codeception 似乎没有遵循重定向
这是我第一次设置测试套件,所以我可能会犯一些愚蠢的错误。
我只是设置 Codeception 为 CodeIgniter 项目编写一些测试。我有一些简单的测试工作(耶!)但我现在正在编写验收测试以确保我的登录表单有效。填写表单并单击提交工作正常,但是当我尝试在提交后检查页面时,似乎没有遵循重定向。
- 页面内容为空(节点列表为空,日志文件为0字节)
- 页面的 url 是我提交的页面,而不是我应该重定向到的页面。
重定向是 301 标头重定向。编辑:FALSE原来我使用的 auth 库执行“重新加载”标头重定向。使用真正的 301 可以解决问题。
我认为应该遵循重定向。我需要设置/配置什么才能使 301 重定向正常工作吗?
代码:
我的验收测试:
我在调试模式下运行测试时的输出。InvalidArgumentException
抛出错误是因为它正在查看的页面的 DOM 是空的:
php - 为什么 Codeception 的 PhpBrowser 不遵循“重新加载”标题?
这发生在Ion Auth authentication library中的一个真实CodeIgniter项目中,但为了清楚起见,我将其简化为最简单的形式。
剧本:
我有这个单行脚本位于http://localhost/~captbaritone/redirect/index.php
:
在我的浏览器中,它重定向到 Google.com。
考试:
为了测试它,我编写了这个验收测试:
我的acceptance.suite.yml
样子是这样的:
结果:
我的问题:
显然 PhpBrowser 没有遵守重定向。将重定向更改为位置标头允许测试通过,但我不想(不能)更改我的应用程序以适应测试套件。
这是 Codeception 中的错误吗?在 PhpBrowser 中?(我不太清楚一个从哪里开始,另一个从哪里开始,或者 PhpBrowser 是否甚至是一个单独的项目。)或者也许这是我不应该从无头浏览器获得的功能?
我应该透露这是我第一次使用测试套件。