1

ホームページでの検索テストは問題なく動作します。しかし、送信がどのように機能し、どのようにデバッグするのかわかりません。それが私が持っているものです:

behat.yml

default:
    formatter:
        name: progress
    extensions:
        Behat\Symfony2Extension\Extension:
            mink_driver: true
            kernel:
                env:   test
                debug: true
        Behat\MinkExtension\Extension:
            base_url:        http://my.dev/
            goutte: ~

検索機能

Feature: Search
    Search

    Background:
        Given I am on "/"

    Scenario: Empty Search
        When I fill in "query" with "love"
        And I press "Search"
        Then I should see "Love Results"

バッシュ

$ ./bin/behat --verbose --profile=default "@MySiteBundle/Search.feature"
...F.P-..P-..P--.F---.F---

(::) failed steps (::)

01. The text "Love Results" was not found anywhere in the text of the current page.                
+--[ HTTP/1.1 200 | http://my.dev/ | GoutteDriver ]

したがって、アドレスはまだ「/」であり、フォームが送信されなかったことを意味します。

Goutte は、この目的に適していませんか? それとも私の奇妙な設定ですか(「/」はsymfony2によって提供されていないため、サイトの他の部分は提供されています)?

更新

BroserKit/Client 内からのデバッグは、フォームが送信されるはずの URI が間違っていることを示し、404 を返します。詳細モードでの Behat はそれを示しません。

4

1 に答える 1

0

フォームの送信が Javascript によって処理される場合は、goutte の代わりに Selenuim2 を使用し、機能ファイルの上に @javascript 注釈を追加する必要があります。

于 2013-12-02T15:53:57.440 に答える