올바른 방향으로 지적하고 싶다면 Behat 이데올로기와 모순되는 일을 피해야합니다. 시나리오는 사용자가 수행하는 작업과 코드를 살펴 보는 개발자가 아닌 페이지를 보는 사용자로 결과를 확인하는 데 사용하는 어설 션을 설명합니다. 마지막 단계의 논리는 당신 뒤에 있습니다. 초기 질문에 대한 답을 원하는 경우에
Given I am on the homepage
Then the page title should read "hello world"
And the user list should contain "john doe"
And the dialogue title should be "foo bar"
는, 다음과 같은 그것을 할 수 있습니다 :
/**
* @Then /^(?:|I)should see "(?P<text>.+)" in the "(?P<selector>\w+)" element$/
*/
public function assertElementText($text, $selector) {
$page = $this->getSession()->getPage();
$element = $page->findAll('css', $selector);
foreach($this->getSession()->getPage()->findAll() as $element) {
if (strpos(strtolower($text), strtolower($element->getText()) !== false) {
return;
}
}
throw Exception("Text '{$text}' is not found in the '{$selector}' element.");
}
을 그리고 다음과 같이 사용 즉, 당신의 단계는 더 같이 읽어야합니다 :
Then I should see "hello world" in the "div#title" element
Then I should see "john doe" in the "ul#users > li" element
정규식을 사용해야합니까? – sjagr