0

たとえば、次のフォームがあるとします。

<form action="test.php" method="post">
    <input type="text" name="myinput" value="3" />
    <button>Submit</button>
</form>

これは私のフィルタリングとクローラーでのテストです:

$client = static::createClient();
$crawler = $client->request('GET', 'test.php');

$filter = 'button';
$buttonNode = $crawler->selectButton($crawler->filter($filter));
$this->assertEquals(1, $buttonNode->count()); // this works

$form = $buttonNode->form(); // This shows error "LogicException: Unable to submit on a "input" tag."
$client->submit($form);
4

2 に答える 2

2

問題はボタンの定義にあると思います。理解を深めるために名前を変更し、そこにタイプを追加します。

<button type="submit">SubmitLabel</button>

次に、次のように動作するはずです。

$client = static::createClient();
$crawler = $client->request('GET', 'test.php');

$buttonCrawlerNode = $crawler->selectButton('SubmitLabel');      
$form = $buttonCrawlerNode->form();
$client->submit($form);
于 2014-03-19T08:41:38.037 に答える
0

私の質問のような方法を見つける必要があります。

または、1 つのテストだけで、 casperJSを使用できるテストは多くありません

于 2013-06-05T09:13:31.457 に答える