2016-07-04 20 views
0

Ich kann nicht auf Senden klicken. Ich habe HTML wie unten gezeigt.
Wie kann ich in Behat auf die Zeichenfolge des Wertattributs zugreifen?

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

Ich bin mit der IDrücken Funktion wie unten in features.php Datei angezeigt. Ich habe versucht mit iClick(), iClickElementWithId() aber überhaupt nicht klicken.

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

Ich bekomme die folgende Fehlermeldung während der Ausführung.

Und ich drücke "Achteraf betalen" Erwartet "]", aber gefunden. So

, finden Sie einige Vorschläge .. Vielen Dank im Voraus geben ..

Antwort

1

Das Problem ist in Ihrem $page->find() Anruf. Schließen Sie den Wert in Anführungszeichen ein:

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

Vielen Dank .. Aber beim Speichern des Parameters in der Variablen $ val, halten wir in Anführungszeichen. Ist das hier auch erforderlich ?? – Suraj

+0

Die Zeile '$ val =" $ value ";' weist $ val nur $ value zu, die doppelten Anführungszeichen tun nichts. Sie können die Zeile auch weglassen und $ value direkt verwenden. –

+0

Im Gegensatz dazu sind im Aufruf von $ page-> find() die doppelten Anführungszeichen notwendig. Sie ermöglichen die Verwendung von Variablen innerhalb der Zeichenfolge. Dieser Mechanismus wird "Interpolation" genannt. Siehe https://en.wikipedia.org/wiki/String_Interpolation –