我正在尝试在运行Selenium测试时记录信息。
以下是我正在使用的一些非常简单的示例代码:
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();
}
}
我知道Selenium有各种日志记录级别(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
没有任何内容写入我在命令中指定的文件。
答案 0 :(得分: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>
如果您想尝试一下,这只是硒记录的替代方案。