2011-09-06 46 views
2

我使用WebBackedSeleniumDriver使用Selenium客戶端驅動程序2.5.0。我想爲我的測試注入Javascript函數,但遇到了一些麻煩。以下是我初始化我的司機......如何在我的Selenium測試中注入JS函數?

final FirefoxDriver driver = new FirefoxDriver(); 
    selenium = new WebDriverBackedSelenium(driver, baseUrl); 

但低於第二行拋出「‘增量’未定義的錯誤。」

selenium.getEval("function inc(x) { return x + 1; }); "); 
    String incResult = selenium.getEval("inc(5);"); 

任何想法如何我可以成功地注入一個JavaScript函數用於其他測試?

謝謝, - 戴夫

回答

3

請嘗試稍微改變如下。

selenium.getEval("inc = function(x) { return x + 1; }"); 
    String incResult = selenium.getEval("inc(5);"); 
0

據硒文檔(Selenium Driver .NET Docs):

創建在當前測試窗口的身體一個新的「腳本」標籤,並添加指定的文本插入命令的身體。以這種方式運行的腳本通常比使用Selenium的「getEval」命令執行的腳本更容易調試。請注意,這些腳本標記中引發的JS異常不是由Selenium管理的,因此如果腳本有任何可能拋出異常的情況,您應該將腳本封裝在try/catch塊中。

所以,我對答案做的唯一改變是改變getEval贊成的runScript方法。

相關問題