2014-04-04 46 views
0

我想從c#執行硒測試。我已經在selenium IDE上記錄了測試,並使用IDE工具對其進行了驗證。該測試是一個簡單的概念證明。瀏覽美國聯合航空公司網站,在其搜索窗口中輸入一些航班信息並調用搜索。當我運行項目時,除了點擊搜索按鈕不會像使用Selenium IDE時那樣調用點擊時,所有工作都可以正常工作。點擊()方法不工作使用C#Selenium IDE

沒有錯誤的非工作線拋出

driver.FindElement(By.Id("ctl00_ContentInfo_Booking1_btnSearchFlight")).Click(); 

全碼

driver = new FirefoxDriver(); 
baseURL = "http://www.united.com/"; 
verificationErrors = new StringBuilder(); 
enter code here 
driver.Navigate().GoToUrl(baseURL + "/web/en-US/default.aspx?root=1"); 
driver.FindElement(By.Id("ctl00_ContentInfo_Booking1_Origin_txtOrigin")).Clear(); 
driver.FindElement(By.Id("ctl00_ContentInfo_Booking1_Origin_txtOrigin")).SendKeys("fort lauderdale, fl"); 
driver.FindElement(By.Id("ctl00_ContentInfo_Booking1_Destination_txtDestination")).Clear(); 
driver.FindElement(By.Id("ctl00_ContentInfo_Booking1_Destination_txtDestination")).SendKeys("New York/Newark, NJ (EWR - Liberty)"); 
driver.FindElement(By.Id("ctl00_ContentInfo_Booking1_DepDateTime_Depdate_txtDptDate")).Click(); 
driver.FindElement(By.Id("ctl00_ContentInfo_Booking1_DepDateTime_Depdate_txtDptDate")).Clear(); 
driver.FindElement(By.Id("ctl00_ContentInfo_Booking1_DepDateTime_Depdate_txtDptDate")).SendKeys("4/7/2014"); 
driver.FindElement(By.Id("ctl00_ContentInfo_Booking1_RetDateTime_Retdate_txtRetDate")).Clear(); 
driver.FindElement(By.Id("ctl00_ContentInfo_Booking1_RetDateTime_Retdate_txtRetDate")).SendKeys("4/14/2014"); 
driver.FindElement(By.Id("ctl00_ContentInfo_Booking1_btnSearchFlight")).Click(); 


String test = driver.PageSource; 
+0

嘗試element.Submit() – bit

+0

@bit感謝您的建議,我曾嘗試這一點,但獲得相同的結果。 – CodeMilian

+0

嘗試在執行這些操作之前添加Wait()或Sleep()。有時,之前的Click()會執行一些處理並禁用UI,因此請等待一段時間,然後嘗試執行下一個操作。 – bit

回答

0

的問題是有兩個ctl00_ContentInfo_Booking1_btnSearchFlight在頁面上。第一個是div,第二個是你想要點擊的按鈕。

試試這個:

FindElement(By.CssSelector("input#ctl00_ContentInfo_Booking1_btnSearchFlight")).Click();