2016-07-04 7 views
0

제출 버튼을 클릭 할 수 없습니다. 나는 아래와 같이 HTML을 가지고있다. features.php 파일에 다음과 같이
Behat에서 value 속성의 간격 문자열에 액세스하는 방법은 무엇입니까?

`<input id="edit-submit" class="form-submit" type="submit" value="Achteraf betalen" name="submit" onclick="return validate_step3();">` <br> 

은 내가 Í 푸시 기능을 사용하고 있습니다. iClick(), iClickElementWithId()로 시도했지만 클릭을 전혀 할 수 없습니다.

/** 
* @Given /^I Press "([^"]*)"$/ 
*/ 
public function iPress($value) 
{ 
    $val="$value"; 
    $page = $this->getSession()->getPage(); 
    $element = $page->find('css',"input[value=$val]"); 
    $element->doubleClick(); 
} 

실행하는 동안 아래 오류 메시지가 나타납니다.

내가 "Achteraf betalen"을 (를) 예상했지만 "예상"했지만 발견되었습니다.

그래서,

답변

1

문제는 $page->find() 전화에 .. 사전에 몇 가지 제안을 ... 감사주세요. 값을 따옴표로 묶으십시오 :

$element = $page->find('css',"input[value='$val']"); 
+0

감사합니다 .. 그러나 매개 변수를 $ val 변수에 저장하는 동안 큰 따옴표를 사용합니다. 이것도 여기에 필요합니까 ?? – Suraj

+0

'$ val = "$ value"; 행은 $ value에 $ value 만 지정합니다. 큰 따옴표는 아무 것도하지 않습니다. 줄을 생략하고 $ 값을 직접 사용할 수도 있습니다. –

+0

이와 대조적으로, $ page-> find() 호출에서 큰 따옴표가 필요합니다. 문자열 안에서 변수를 사용할 수 있습니다. 이 메커니즘을 "보간법"이라고합니다. https://en.wikipedia.org/wiki/String_interpolation을 참조하십시오. –