2015-04-27 143 views
0

我正在使用watir來測試/運行我的網站。Watir選擇選項不在列表中

我想知道是否可以使用watir來設置不在選項列表中的選擇列表的值。我注意到,使用Ruby Mechanize可以簡單地設置字段的值,但與Watir不太一樣。

其他細節(從評論中提取):

有名爲pageSize的頁面大小(即有多少項目每頁顯示的)一個選擇。選項是5,10,20和30.但是,出於測試目的,我想顯示更多(例如100)。我使用browser.select_list(:name,「pageSize」)。選擇「30」來選擇30.但是browser.select_list(:name,「pageSize」)。select「100」將不起作用,因爲沒有選項,其值爲100.

如何讓頁面返回每頁100個值?

謝謝!

+0

你可以添加一個你想到的例子嗎? – Johnson

+0

當然!有一個用於頁面大小的選擇(即每頁顯示多少個項目)名爲pageSize。選項是5,10,20和30.但是,出於測試目的,我想顯示更多(例如100)。我使用'browser.select_list(:name,「pageSize」)。選擇「30」'選擇30.但是'browser.select_list(:name,「pageSize」)。select「100」'wouldn'因爲沒有值100的選項,所以沒有工作。 – Vasseurth

+0

我不認爲這是可能的。如果該值不作爲選項存在,Watir應該返回一個'Watir :: Exception :: NoValueFoundException'。 https://github.com/watir/watir-webdriver/blob/master/lib/watir-webdriver/elements/select.rb#L57 – Johnson

回答

2

Watir旨在完成用戶可以在頁面上進行測試的目的。也就是說,許多選擇列表大小下拉列表正在更新網址,通常會產生如下網頁:http://example.com/sprockets?per_page=10

如果是這種情況,那麼您可能會刮掉然後將url中的值更改爲看你想要什麼。

+0

我明白了,這很有用,謝謝。 你知道是否有一種方法簡單地追加到URL的末尾? – Vasseurth

+2

那麼,你需要弄清楚你真正想要的url的字符串,並像你通常用''browser.goto'''來瀏覽它,你可以硬編碼它,或者得到當前的'''browser.url '''並且加上'''per_page = 100'''所需的任何值,等等。 – titusfortner

+0

簡而言之,請在設置頁面大小後查看頁面的現有url ..如果您看到頁面大小作爲查詢字符串參數,那麼你也許可以欺騙一個不受支持的值。如果它不是一個參數,則該值將保存在其他地方。因此,查看cookie和HTTP請求標頭值,可能會保存在其中一個位置。如果沒有,可能是服務器端,並且您可以執行的操作不多 –