2016-08-05 22 views
-2

我一直在使用Selenium來爲我的環境編寫一些自動化測試。目前,我正在聲明IWebElement變量,它通過XPath引用Web元素。從WebDriver調用點擊/清除/發送鍵功能會更高效,更好嗎?Selenium - 聲明IWebElement變量與驅動程序調用函數

電流法:

firefox = new FirefoxDriver(); 
IWebElement elem = firefox.FindElement(By.Xpath("//input[@type='text'])); 
elem.sendKeys("Hello StackOverflow!"); 

備選:

firefox = new firefoxDriver(); 
firefox.FindElement(By.Xpath("//input[@type='text'])).sendKeys("Hello Stackoverflow!"); 

我會很感激的任何建議和意見,謝謝。

+0

完全一樣 –

回答

0

「這將是更高效,更好的做法只是爲了調用點擊/透明/從webdriver的發送鍵功能」

你是不是從webdriver的調用它。兩個樣本中都使用RemoteWebElement: IWebElement。 所以它是完全一樣的。區別僅在於可讀性。

+0

...良好的可讀性以及是否需要/需要一個變量存儲元素。如果您要再次使用它,則應將其存儲在變量中供以後使用。如果你不需要再使用它,將它存儲在一個變量中真的沒有意義。 – JeffC

+0

它很重要。在超出範圍之後,如果需要,GC將選擇此對象(實際上只有2個引用字段的小型封裝)。問題在於這種區別。 –

+0

我並不反對你的回答,我只是添加了一個評論,說明如何確定何時創建一個變量而不僅僅是使用一行代碼。 – JeffC