gpt4 book ai didi

c# - 如何在 TestFixture/TestClass C# Selenium 单元测试上使用 Excel 数据源

转载 作者:行者123 更新时间:2023-11-28 21:37:18 27 4
gpt4 key购买 nike

我目前是一家保险公司的 QA 实习生,我正在该公司的网站上进行一些测试。我已经完成了很多案例,现在他们要求进行数据驱动测试,而我正在为此苦苦挣扎。

我已经完成了所有的测试;
1 个测试夹具
测试测试用例中的每个页面。

像这样;

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

[Test,Order(2)]
testcodeForNextPage

}

所以我需要对 excel 文件中的许多数据运行完整测试。正如您可能已经注意到的那样,我正在使用 NUnit。
真正的问题是,如何将 DataTable 传递到 TestFixture 并使测试 block 针对数据表运行。

在运行时,第一个测试 block 将针对名为 MyTable 的数据表的第一行,第二个测试 block 将针对名为 SecondTable 的数据表的第一行运行。由于这些测试是由前一个测试 block 触发的,因此我无法将数据源提供给测试 block 。

我在互联网上查找过,但找不到任何关于将数据表传递到 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
}

}

关于c# - 如何在 TestFixture/TestClass C# Selenium 单元测试上使用 Excel 数据源,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56899799/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com