【发布时间】:2022-01-16 12:13:39
【问题描述】:
我有一个侦听器接口的实现,我想保存 Web 驱动程序的屏幕截图,以及测试本身的 xml。
public class TestListener : ITestListener
{
public void TestFinished(ITestResult result)
{
try
{
string fileName;
if (!Directory.Exists("Logs")) Directory.CreateDirectory("Logs");
if (Directory.GetFiles(@"Logs\").Length == 0)
{
fileName = @"Logs\Log_0.xml";
}
else
{
fileName = @"Logs\Log_" + System.Convert.ToString(
Directory.GetFiles(@"Logs\").Select(item => System.Convert.ToInt32(item.Split('_')[1]))
.OrderByDescending(item => item).First() + 1) + ".xml";
}
using (StreamWriter fstream = new StreamWriter(fileName))
{
fstream.Write(result.ToXml(true).OuterXml);
}
}
catch {}
if (result.ResultState.Status == TestStatus.Failed)
{
try
{
Screenshot screenshot = ((ITakesScreenshot)Driver.DriverInstance.GetInstance()).GetScreenshot();
if (!Directory.Exists("Screenshots")) Directory.CreateDirectory("Screenshots");
if (Directory.GetFiles(@"Screenshots\").Length == 0)
screenshot.SaveAsFile(@"Screenshots\Screen_0.jpg");
else
{
string fileName = @"Screenshots\Screen_" + System.Convert.ToString(
Directory.GetFiles(@"Screenshots\").Select(item => System.Convert.ToInt32(item.Split('_')[1]))
.OrderByDescending(item => item).First() + 1) + ".jpg";
screenshot.SaveAsFile(fileName);
}
}
catch {}
}
}
....
}
我运行了一个插图测试以显示它是否有效
[Test]
public void test()
{
Assert.IsTrue(false);
}
但不要为侦听器推送事件。 NUnit v3.12.0
【问题讨论】:
标签: c# unit-testing nunit