提交带有Codeception的表单时无效的cookie

时间:2015-08-03 05:37:00

标签: php cookies paypal codeception guzzle

我正在尝试使用Codeception(验收测试)来测试我的项目。一切都很顺利,直到我不得不用Paypal按钮提交表格 调试时显示

I submit form "form:nth-child(3)",
[Uri] https://www.sandbox.paypal.com/cgi-bin/webscr
[Method] POST
[Parameters] {"cmd":"_s-xclick","hosted_button_id":"BUTTONID"}
ERROR

然后去

[RuntimeException] Invalid cookie: The cookie value must not be empty

我不会在测试期间设置任何cookie。并且不知道为什么它会解决这个错误。

这是我的acceptance.suite.yml

class_name: AcceptanceTester
modules:
    enabled:
        - PhpBrowser:
            url: http://test.mysite.com
        - \Helper\Acceptance

这是我的SubscriptionCest.php:

<?php
use \AcceptanceTester;

class SubscriptionCest
{
    public function _before(AcceptanceTester $I)
    {
    }

    public function _after(AcceptanceTester $I)
    {
    }

    // Main function
    public function run(AcceptanceTester $I)
    {
        $I->am("New user");
        $I->wantTo("purchase a membership");
        $I->amOnPage("/subscription");

        $I->submitForm("form:nth-child(3)", []);
    }
}

这是paypal形式的HTML:

<form action="https://www.sandbox.paypal.com/cgi-bin/webscr" method="post" target="_top">
<input type="hidden" name="cmd" value="_s-xclick">
<input type="hidden" name="hosted_button_id" value="BUTTONID">
<input type="image" src="https://www.sandbox.paypal.com/en_US/i/btn/btn_subscribeCC_LG.gif" border="0" name="submit" alt="PayPal - The safer, easier way to pay online!">
<img alt="" border="0" src="https://www.sandbox.paypal.com/en_US/i/scr/pixel.gif" width="1" height="1">
</form>

为什么会发生此错误以及如何解决此问题? 感谢。

1 个答案:

答案 0 :(得分:0)

所以事实证明这是一个错误,现在已修复。版本2.1应该让它像魅力一样工作。有关详细信息,请查看https://github.com/Codeception/Codeception/issues/2234