2011-09-06 56 views
0

我有它儲存假設存儲其內容的absoluteUrl一個html文件Selenium測試商店絕對URL是這樣的:使用JavaScript的

<html> 
<head><title>Root URL variable</title></head> 
<body> 
<table cellpadding="1" cellspacing="1" border="1"> 
<thead> 
<tr><td rowspan="1" colspan="3">Root URL variable</td></tr> 
</thead><tbody> 

<tr> 
    <td>store</td> 
    <td>javascript{window.location;}</td> 
    <td>rootUrl</td> 
</tr> 

</tbody></table> 
</body> 
</html> 

,當我嘗試更換window.locationvar loc = window.location;我得到的問題出現此錯誤

命令執行失敗。請在搜索論壇http://clearspace.openqa.org查看日誌窗口中的錯誤詳情。錯誤消息是:eval(匹配1)未定義

這是第一個問題。第二個問題是,我想獲得使用javascript的絕對路徑,並嘗試將其作爲rootUrl變量進行存儲。任何解決方案建議將很方便(如果第一個問題就解決了,我打算嘗試類似於內維爾博納維亞一個here,即解決方案

function getAbsolutePath() { 
var loc = window.location; 
var pathName = loc.pathname.substring(0, loc.pathname.lastIndexOf('/') + 1); 
return loc.href.substring(0, loc.href.length - ((loc.pathname + loc.search + loc.hash).length - pathName.length)); 

}

回答

0

當硒運行this指硒對象這意味着你將不必windowdocument直接訪問。

要獲得直接訪問,你需要做的this.browserbot.getUserWindow(),這將返回頁面上的window對象,那麼你可以讓ÿ我們通常的電話。

例如

var window = this.browserbot.getUserWindow(); 
return window.location; 
+0

沒錯。這是我最終使用'this.browserbot.baseUrl',因爲它的路徑不會改變測試套件的長度。 –