2010-01-20 23 views
4

我已經搜索了周圍的答案,並且發現了很多更復雜的問題,但沒有一個能夠讓我足夠洞察 這個數字。
我在做什麼:
1 - 打開一個編號的頁面,可能會很大
2-拿到X路徑在這個數字,並將其存儲到一個變量
3-做一個JavaScript來比較上面存儲的變量,看它是否大於10,如果是,則設置一個新的變量爲真;否則爲假(因爲這是默認值)
4-驗證#3中的變量是否爲真Selenium:如何在javascript比較中使用存儲值

聽起來很簡單,不是嗎?

出錯的地方:
在第3步,不允許比較第2步到第10步的變量,至少不是我寫它的方式。

爲什麼?

詳情:

<tr> 
    <td>open</td> 
    <td>http://www.google.com/search?hl=en&q=selenium+verifyEval</td> 
    <td></td> 
</tr> 
<tr> 
    <td>store</td> 
    <td>/html/body/div[5]/div/p/b[3]</td> 
    <td>resultCount</td> 
</tr> 
<tr> 
    <td>storeEval</td> 
    <td>var isMoreThan10 = new Boolean(); isMoreThan10 = (resultCount &gt; 10);</td> 
    <td>isMoreThan10</td> 
</tr> 
<tr> 
    <td>verifyExpression</td> 
    <td>${isMoreThan10}</td> 
    <td>true</td> 
</tr> 

我只是想一個可能的解決方法的:Exapnd的JavaScript代碼來獲取值有&它分配給一個變量存在,所以我會更容易能夠使用JavaScript中的變量。不確定如何做到這一點 - 任何人想要幫助嗎?

但是肯定會有更好的辦法,不是嗎?我必須能夠爲Selenium中的變量賦值,然後在下一行中使用該變量,對吧?

回答

6

找到解決方案。我不僅以我設定的方式錯誤地修改storeEval isMoreThan10;我將resultCount設置爲錯誤的商店調用(而不是storeText),並在storeEval中調用resultCount錯誤。

這裏是做正確的方法:

<tr> 
<td>open</td> 
<td>http://www.google.com/search?hl=en&amp;q=selenium+verifyEval</td> 
<td></td> 
</tr> 
<tr> 
<td>storeText</td> 
<td>//p[@id='resultStats']/b[3]</td> 
<td>resultCount</td> 
</tr> 
<tr> 
<td>storeEval</td> 
<td>(storedVars['resultCount'] &gt; 10) ? true : false</td> 
<td>isMoreThan10</td> 
</tr> 
<tr> 
<td>verifyExpression</td> 
<td>${isMoreThan10}</td> 
<td>true</td> 
</tr> 

感謝AutomatedTester爲真正使用TestPlan(可以用兩種硒和運行是在暗示在storeEval

1

這是解決

<tr> 
    <td>storeEval</td> 
    <td>var isMoreThan10 = new Boolean(); isMoreThan10 = (resultCount &gt; 10);isMoreThan10 ;</td> 
    <td>isMoreThan10</td> 
</tr> 

一件簡單的事情它要求你必須要在最後的結果。如果你使用三元組,那麼它會更好,因爲它不會將結果存儲在JavaScript中的變量中。

例如

<tr> 
     <td>storeEval</td> 
     <td>(resultCount > 10) ? true : false</td> 
     <td>isMoreThan10</td> 
    </tr> 
+0

您是否在我的代碼中嘗試瞭解決方案?它不適合我,但我認爲我正在接近解決方案。由於上面提到的同樣的原因,它仍然在步驟3失敗,但我可能已經找到了一種解決方法,用另一種方式來存儲和調用變量,就像我將暫時演示一樣。感謝提示! – dstrube

+0

對不起,我沒有看到resultCode是一個變量。 – AutomatedTester

0

這種類型的東西三元分配HTMLUnit作爲後端)

GotoURL http://www.google.com/search?hl=en&q=selenium+verifyEval 
set %Count% (response //html/body/div[5]/div/p/b[3]) 
Notice Got Value %Count% 
Checkpoint numComp %Count% > 10 
相關問題