2012-02-01 179 views
0

我想從excel電子表格中選擇一個複選框進行數據驅動測試。對於該複選框從excel中選擇複選框與ruby

代碼:

Not Checked: 

<input type="checkbox" class="greenopt" name="Accounts[0][greenopt]" id="" value="0"> 

Checked: 

<input type="checkbox" class="greenopt" name="Accounts[0][greenopt]" id="" value="1"> 

我嘗試以下但得到的錯誤:無法找到元素,使用{:值=> 「1」}

greenopt_check=worksheet.cells(rows,"O").value 
browser.checkbox(:value => greenopt_check).set 

這是種類似於我之前關於單選按鈕的問題 Select Radio buttons from excel with ruby

+0

是上面相同的複選框的HTML代碼?當複選框被選中時,複選框值是否發生變化? 我們可能需要查看更多的HTML來了解這一點,例如用戶如何知道他們選擇了哪個複選框以及它做了什麼?知道用戶如何確定勾選哪個複選框可能會使我們找到一個讓Watir識別複選框的好方法。 – 2012-02-01 19:46:30

+0

>> browser.checkbox(class =>'greenopt')。set – 2012-02-01 23:59:27

+0

有什麼問題,但沒有看到更多的頁面,我們不知道它是否是唯一的。但是@DaveMcNulla我不得不承認,追求名字或班級作爲確定正確複選框的方式將是我的第一個傾向。名字更可能是獨一無二的,因爲我已經看到類在被用於觸發CSS樣式進行格式化和外觀時被重用了一點點。但沒有更多的HTML我們不知道哪一個是更好的選擇,或者它們是否相當 – 2012-02-02 03:53:47

回答

1

請檢查watir checkbox documentation。在這種情況下,您可以根據自己的目標選擇checkbox.set或checkbox.clear。

你想用的東西是獨特的,一致的/可預見的選擇元素

checkbox_class = worksheet.cells(rows,"A").value 
puts 'retrieved checkbox_class from spreadsheet is:' + checkbox_class #for debugging, make sure you got the correct thing from the spreadsheet 
browser.checkbox(:class => checkbox_class).set 

checkbox_name = worksheet.cells(rows,"A").value 
puts 'retrieved checkbox_name from spreadsheet is:' + checkbox_name #for debugging, make sure you got the correct thing from the spreadsheet 
browser.checkbox(:name => checkbox_name).set 
+0

編輯你的答案擴大一點,希望你不介意。 – 2012-02-04 00:29:04

+0

@ChuckvdL我不介意,尤其是像你這樣的職業選手。 – 2012-02-04 05:16:05