我一直在通過Behat | Mink在BDD工作。Behat/Mink是否可以通過不完整的字符串進行查找?
但是我沒有找到一個ID或名稱的輸入(字段),如果他們不完整。
我打算做這樣的事情:
$field = $this->getSession()->getPage()->findField("*first_name*");
其中「*」意味着可以是任何一條繩子那裏。
的問題是,我有,我不能確切地知道完整的ID原因的情況下:
id="<random-string>_<actual-field-name>_<random-number>"
任何想法,我該怎麼辦呢?
有什麼我試圖
- get it through label (for some reasons there are some labels that dont have 'for' attribute and sometimes the name is a sentence and not an simple name)
- get it through css/classes (to many variables)
編輯:
我創建一個PHP函數讀取屬性,並返回預期的屬性值。
/**
*
* @param string $haystack The complete html
* @param string $needle The string with the part of the attribute value
* @param string $tag The tag of where the attribute should belong
* @param string $attr The attribute to ifnd
* @return string
*/
protected function findCompleteAttribute($haystack, $needle, $tag = null, $attr = 'id')
然而,在案件還有另外一個領域(例如:隱藏的登錄表單)和針也是這些輸入,它會得到他們,如果他們是第一次。
所以我需要指定的形式,但是,一旦更多的,有我沒有辦法找到通過名稱的形式:
$field = $this->getSession()->getPage()->find('named', array('form', $formName));
特別感謝@ gontrollez – mloureiro