2017-08-29 61 views
2

我試圖在運行我的Selenium測試時記錄信息。如何使用Selenium日誌功能(使用C#)?

下面是一些非常簡單的示例代碼我一起工作:

using System.Threading; 
using System; 
using OpenQA.Selenium; 
using OpenQA.Selenium.Chrome; 

class EntryPoint 
{ 

    static void Main(string[] args) 
    { 
     string url = "http://testing.todorvachev.com/selectors/css-path/"; 
     string cssPath = "#search-2 > form > label > input"; 
     string xPath = "//*[@id=\"search-2\"]/form/label/input"; 

     IWebDriver driver = new ChromeDriver(); 

     driver.Navigate().GoToUrl(url); 

     IWebElement cssPathElement = driver.FindElement(By.CssSelector(cssPath)); 
     IWebElement xPathElement = driver.FindElement(By.XPath(xPath)); 

     if (cssPathElement.Displayed) 
     { 
      Console.WriteLine("I can see the CSS path element"); 
     } 
     else 
     { 
      Console.WriteLine("I can't see it"); 
     } 

     driver.Quit(); 
    } 
} 

據我所知,硒有不同的日誌記錄級別(https://raw.githubusercontent.com/wiki/SeleniumHQ/selenium/DesiredCapabilities.md),我只是想了解如何在命令行中執行這些。

我一直在嘗試以下的不同變化,沒有運氣:

C:\Users\sandra\Desktop\WSD\SeleniumPractice\SetupEnvironment\SetupEnvironment\bin\Debug>SetupEnvironment.exe -log C:\temp\log 

命令運行正常,並給出了此輸出:

Starting ChromeDriver 2.31.488763 (092de99f48a300323ecf8c2a4e2e7cab51de5ba8) on port 58605 
Only local connections are allowed. 
I can see the CSS path element 

沒有被寫入到我指定的文件在命令中。

+1

是否有錯誤信息? – TrevorBrooks

+0

沒有錯誤消息。測試運行正常 - 瀏覽器打開,執行它的事情,再次關閉。我將使用命令行輸出更新帖子。 – sandramedina

+0

你考慮過log4net嗎? –

回答

0

作爲使用Selenium日誌工具的替代方案,您可以使用log4net。只需在您的解決方案安裝log4net的包,那麼定義屬性,並在你的設置方法初始化

private ILog Log; 

[OneTimeSetUp]  
public void OneTimeSetUp() 
{ 
    Log = LogManager.GetLogger(GetType()); 
} 

[Test] 
public void LogTest() 
{ 
    Log.Info("test test test test"); 
} 

這裏是你可以用它來讓你開始將登錄到控制檯和日誌文件的樣本log4net.config文件:

<log4net> 
    <root> 
    <level value="ALL" /> 
    <appender-ref ref="console" /> 
    <appender-ref ref="file" /> 
    </root> 
    <appender name="console" type="log4net.Appender.ConsoleAppender"> 
    <layout type="log4net.Layout.PatternLayout"> 
     <conversionPattern value="%date %level %logger - %message%newline" /> 
    </layout> 
    </appender> 
    <appender name="file" type="log4net.Appender.RollingFileAppender"> 
    <file value="TestFramework.log" /> 
    <appendToFile value="true" /> 
    <rollingStyle value="Size" /> 
    <maxSizeRollBackups value="5" /> 
    <maximumFileSize value="10MB" /> 
    <staticLogFileName value="true" /> 
    <layout type="log4net.Layout.PatternLayout"> 
     <conversionPattern value="%date [%thread] %level %logger - %message%newline" /> 
    </layout> 
    </appender> 
</log4net> 

同樣如果您想嘗試一下這僅僅是硒記錄的替代品。