0
我正在嘗試使用C#中的Selenium Webdriver爲測試創建一個自定義結果文件。如何在失敗的測試中關閉結果文件?使用Webdriver,C#
我正在將結果寫入一個csv文件,並在最後關閉它。
問題是如果測試失敗並且沒有完成,文件永遠不會關閉,因此我不會得到結果。
我試過把file.Close();在拆解部分,但這不起作用,因爲在該上下文中不存在「文件」。我看不到一種方法來通過它。
我也嘗試在安裝程序中設置新的StreamWriter文件 - 這樣做很好,但沒有幫助在最後關閉它。
我已經在這裏搜索和一般的谷歌搜索。
下面是一個什麼樣的作品樣本 - 當它全部通過(所有在一個地方 - 在測試中的不同類)。
我希望能夠移動file.Close();到它將運行的位置,而不管它是否通過。
[TearDown]
public void TeardownTest()
{
try
{
driver.Quit();
}
catch (Exception)
{
// Ignore errors if unable to close the browser
}
Assert.AreEqual("", verificationErrors.ToString());
// file.Close();
// this is where it doesn't work if I put it here
}
[Test]
public void TheTest()
{
System.IO.StreamWriter file = new System.IO.StreamWriter(@"C:\results\test.csv", true);
try
{
Assert.AreEqual("text", "text");
file.WriteLine("{0},{1},{2}", "time", "test", "PASS");
}
catch (AssertionException e)
{
verificationErrors.Append(e.Message);
file.WriteLine("{0},{1},{2}", "time", "test", "FAIL");
}
//do next step
file.Close();
}
嘗試宣告'file'作爲'class'水平大衆,所以,這將是可供 – Siva
謝謝你的類的所有方法 - 這完美地工作! – Akcipitrokulo