簡體   English   中英

如何在TestFixture / TestClass C#硒單元測試中使用Excel數據源

[英]How to Use Excel DataSource on TestFixture/TestClass C# Selenium Unit Test

我目前是一家保險公司的質量檢查實習生,並且正在該公司的網站上進行一些測試。 我已經做過很多案例,現在他們正在要求我努力的數據驅動測試。

我已經按照所有標准進行了測試;
1個測試裝置
對測試用例中的每個頁面進行測試。

像這樣;

[TestFixture]
public class Test : BaseClassForTheTest
{
    [Test, Order(1)]
    TestcodeForHomePage

    [Test,Order(2)]
    testcodeForNextPage

}

因此,我需要對excel文件中的許多數據進行全面測試。 您可能已經注意到,我正在使用NUnit。
真正的問題是, 如何將數據表傳遞到TestFixture中,並使數據表運行測試塊。

運行時,第一個測試塊將在名為MyTable的數據表的第一行運行,第二個測試塊將在名為SecondTable的數據表的第一行運行。 由於這些測試是由先前的測試塊觸發的,因此我無法將數據源提供給Test塊。

我已經上網查詢了,但是找不到將數據表傳遞到TestFixture的任何信息。 在此先感謝人:)

NUnit沒有內置任何內容來讀取Excel文件。 但是您可以使用TestCaseSourceTestFixtureSource從任意位置生成數據。

您的源必須是一個方法,該方法然后將讀取excel文件並返回適當的參數。

這是使用TestCaseSource的概述...

[TestFixtureSource("DataFromExcel")]
public class MyTestFixture : BaseClassForTheTest
{
    IEnumerable<TestCaseData> DataFromExcel()
    {
        // Read the Excel file
        // For each row of data you want to use
        //     yield return new TestCaseData(/*test fixture args here*/);
    }

    public MyTestFixture(/* your arg list */)
    {
        // Save each arg in a private member
    }

    [Test, Order(1)]
    TestcodeForHomePage()
    {
        // Code that uses the saved values from the constructor
    }

    [Test,Order(2)]
    TestcodeForNextPage()
    {
        // Code that uses the saved values from the constructor
    }

}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM