2012-08-05 100 views
1

嗨,我第一次使用Selenium,我正在做下面的代碼。它運行良好,但打開Firefox後,它不會輸出到控制檯,因爲代碼說它應該會在代碼中的所有步驟完成後完成所有操作。Selenium Webdriver,C#輸出到控制檯後打開驅動程序

所以我的問題是如何讓它的文本輸出到控制檯,而其實際運行的步驟?

 var ProxyIP = "xxx.xxx.xx.xxx:80"; 

     RtbConsole.AppendText("Setting Up Firefox\n"); 

     //Firefox driver + proxy setup 
     FirefoxProfile profile = new FirefoxProfile(); 
     String PROXY = ProxyIP; 
     OpenQA.Selenium.Proxy proxy = new OpenQA.Selenium.Proxy(); 
     proxy.HttpProxy = PROXY; 
     proxy.FtpProxy = PROXY; 
     proxy.SslProxy = PROXY; 
     profile.SetProxyPreferences(proxy); 

     RtbConsole.AppendText("Launching Firefox\n"); 
     FirefoxDriver driver = new FirefoxDriver(profile); 

     RtbConsole.AppendText("Navigating to http://whatsmyip.net/ \n"); 
     driver.Navigate().GoToUrl("http://whatsmyip.net/"); 


     IWebElement ip = driver.FindElement(By.XPath("/html/body/div/div/h1/span")); 
     var myIP = ip.Text; 

     RtbConsole.AppendText("Checking IP for Proxy\n"); 
     if (ProxyIP == myIP + ":80") { 
      RtbConsole.AppendText("Proxy Test: Success\n"); 
     } else { 
      RtbConsole.AppendText("Proxy Test: Failed\n"); 
     } 

     //Close the browser 
     driver.Quit(); 
+0

如果有人對這個問題的答案感興趣,它真的不可能這樣做,就像我試圖結束在一個單獨的線程中運行驅動程序部分,然後使用委託函數來應用控制檯更新。 – Sam 2014-10-29 15:31:12

回答

0

我是新來的這個網站,所以我很抱歉,如果這沒有幫助。但是,當我在C#中編寫硒(webdriver)測試時,我通常不使用append命令。嘗試不同的臨近控制檯,如

Console.WriteLine("Text you wish to be outputted to the Console"); 
//OR MAYBE 
Console.Write("Text you wish to be outputted to the Console"); 

另外,我不知道能同時執行兩個指令實際上是可能的,但是,你可以在其他選定的代碼輸出隊伍執行,使用if語句,或也許嘗試趕上等。

希望這可以幫助!乾杯!

+0

我在等待一段時間的答案,我會試一試。謝謝 – Sam 2012-09-06 15:33:28

+1

Nah它沒有真正的工作我想我需要找到一種方法來運行它在一個單獨的線程或東西,並監視線程。 – Sam 2012-09-11 18:01:58

相關問題