问题标签 [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.

0 投票
0 回答
554 浏览

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 测试工作

0 投票
0 回答
845 浏览

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

0 投票
1 回答
7330 浏览

php - Codeception:从数据库中清理测试数据

我一直在用 Codeception 编写一些单元测试,并且我的数据库已经被测试数据过度运行。在阅读文档时,我发现它说:

每次测试后都会清理和填充数据库

有人知道 yaml 文件中是否有任何内容,或者我需要在拆解方法中添加什么内容?

这是我的测试:

0 投票
1 回答
2844 浏览

php - Codeception 代码覆盖率 - file_get_contents 异常 (c3/report/clear)

我将CodeceptionLaravel 4一起使用。特别是我正在尝试使用远程代码覆盖,以便我可以在代码覆盖结果中包含验收测试。

配置了带有 remote_enable 的 XDebug,并安装了c3.php并将其包含在“public/index.php”中。

在 Windows 上,一切都按预期工作。但是在 Ubuntu 12.04 LTS(使用 PHP5.4)上,我得到了这个异常:

我究竟做错了什么?

0 投票
6 回答
7132 浏览

php - 使用 Codeception 检查外部重定向

我想检查这样的事情:

但我得到错误:

想法只是检查用户是否被重定向到外部资源。

0 投票
3 回答
2906 浏览

php - Codeception 多个测试,1 个脚本

我想我可能把概念弄错了,或者没有正确地思考某些事情。我正在寻找一种连接到数据库的方法,然后为表的每一行运行硒测试(在 phantomjs 中)。测试是检查定制 CMS 上的损坏图像,并且可以应用于任何 CMS。

我基本上想通过从数据库加载它们的 ID,然后为每个 ID 运行单独的测试来为每个页面(特定类型)运行验收测试。

这是我到目前为止所拥有的:

这在某种程度上是有效的,因为它一直执行到第一次失败(因为它作为 1 个测试运行,有很多断言)。

如何将此作为单独的测试运行?

0 投票
2 回答
1222 浏览

symfony - Codeception 中的捆绑设置

我尝试为我的 Symfony2 项目设置代码接收,该项目已经有 4 个工作包及其 PHPUnit 测试用例。现在我想添加代码接收测试用例,特别是对于验收测试,但是当我“引导”代码接收时,我发现所有生成的代码都在我的主要结构中。由于我的应用程序已经被组织成包,我想为我的测试用例保留这个概念。特别是因为我的包中已经有我的 PHPUnit 测试用例。官方的 s2 codeception 并没有真正涵盖这一点。所以对我来说出现了一些问题:

  1. 如何设置它在我的包中工作的代码接收
  2. 如何使用一个命令运行所有现有的 PHPUnit 测试用例和我的 codeception 测试用例?
0 投票
1 回答
1030 浏览

cookies - 我无法使用 codeception 和 Selenium 登录

我有一个小问题,我正在尝试使用 Codeception 来运行我的第一个测试阶段。为此,我使用 Selenium2 和 PrestaShop。

我尝试实现的第一步是登录 PrestaShop 的后台。

但似乎它不想连接到 PrestaShop Backoffice。我被重定向到登录页面!

有谁知道这可能来自哪里?似乎有一些关于 cookie 或会话的东西,但我不知道如何解决这个问题!

编辑:这是我的代码:

Selenium.suite.yml :

密码接收.yml

在文件夹 tests/Selenium 我有 PrestaShopGlobalCest.php

_bootstrap.php

在测试/助手/硒我有

PrestaShopGlobalHelper

0 投票
1 回答
3653 浏览

php - 使用 PhpBrowser 的 Codeception 似乎没有遵循重定向

这是我第一次设置测试套件,所以我可能会犯一些愚蠢的错误。

我只是设置 Codeception 为 CodeIgniter 项目编写一些测试。我有一些简单的测试工作(耶!)但我现在正在编写验收测试以确保我的登录表单有效。填写表单并单击提交工作正常,但是当我尝试在提交后检查页面时,似乎没有遵循重定向。

  • 页面内容为空(节点列表为空,日志文件为0字节)
  • 页面的 url 是我提交的页面,而不是我应该重定向到的页面。

重定向是 301 标头重定向。编辑:FALSE原来我使用的 auth 库执行“重新加载”标头重定向。使用真正的 301 可以解决问题。

我认为应该遵循重定向。我需要设置/配置什么才能使 301 重定向正常工作吗?

代码:

我的验收测试:

我在调试模式下运行测试时的输出。InvalidArgumentException抛出错误是因为它正在查看的页面的 DOM 是空的:

0 投票
1 回答
3711 浏览

php - 为什么 Codeception 的 PhpBrowser 不遵循“重新加载”标题?

这发生在Ion Auth authentication library中的一个真实CodeIgniter项目中,但为了清楚起见,我将其简化为最简单的形式。

剧本:

我有这个单行脚本位于http://localhost/~captbaritone/redirect/index.php

在我的浏览器中,它重定向到 Google.com。

考试:

为了测试它,我编写了这个验收测试:

我的acceptance.suite.yml样子是这样的:

结果:

我的问题:

显然 PhpBrowser 没有遵守重定向。将重定向更改为位置标头允许测试通过,但我不想(不能)更改我的应用程序以适应测试套件。

这是 Codeception 中的错误吗?在 PhpBrowser 中?(我不太清楚一个从哪里开始,另一个从哪里开始,或者 PhpBrowser 是否甚至是一个单独的项目。)或者也许这是我不应该从无头浏览器获得的功能?

我应该透露这是我第一次使用测试套件。