根據twitter bootstrap,這是我們如何做廣播:我們如何使用Laravel Dusk檢查Twitter Bootstrap單選按鈕?
<div class="radio">
<label>
<input type="radio" name="optionsRadios" id="optionsRadios1" value="option1" checked>
Option one is this and that—be sure to include why it's great
</label>
</div>
這是我的代碼:
$browser->click('#menu-reports')
->waitForText('Users')
->click('#menu-reports-users')
->radio('sitesActive', '2')
->radio('includeDisabled', '2')
->radio('includeNonCertifiable', '2')
->press('Apply')
->waitForText('Showing 0 to 0 of 0 entries')
;
帶標籤的標籤內部的輸入。但問題是,黃昏(實際上是Facebook Webdriver)無法以這種方式找到它。它不斷提高:
Facebook\WebDriver\Exception\ElementNotVisibleException: element not visible
爲了使它工作,我已經把輸入的標籤之外,但後來,當然,自舉無線電不顯示,因爲它應該了。
<div class="radio">
<input type="radio" name="optionsRadios" id="optionsRadios1" value="option1" checked>
<label>
Option one is this and that—be sure to include why it's great
</label>
</div>
不使用IDS的工作,要麼:
甚至不是一個ID設置爲輸入:
<input
type="radio"
name="sitesActive"
id="sitesActive3"
value="2"
>
,並試圖選擇這種方式:
->radio('#sitesActive3', '2')
的問題在於黃昏(Webdriver)甚至無法看到頁面中的元素,因爲這種簡單的方式與以完全相同的方式失敗:
$browser->waitFor('#sitesActive3');
,導致:
Facebook\WebDriver\Exception\TimeOutException: Waited 5 seconds for selector [#sitesActive3].
而且出現這種情況每次我有一個表格時,與輸入一個標籤圍繞着它,如果我把輸入了標籤,它的工作原理。但是收音機並不是那麼簡單,因爲它與其他一些輸入,無線電一樣。
這是一個正確編碼電臺:
這是與標籤標籤外部的輸入無線電:
那麼,你怎麼做呢?
會很奇怪,因爲我必須爲每個收音機添加一個類'.myRadioClass1; .myRadioClass2',但我嘗試了類似於ids的方式:'',並且執行了' - >點擊('#radio1')',但它不起作用 –
我嘗試了類的事情,它似乎工作 - 但你是對的,每個元素添加一個單獨的類可能會很煩人。我期待着看到還有什麼其他的建議。 – CaraGee