当前位置: 首页 > 面试题库 >

从Excel驱动的C#NUnit 3数据 硒

贺俊楚
2023-03-14
问题内容

我要执行两次此测试,因为有2行数据。

[Test]
[TestCaseSource("Data")]
public void Login(String username, String password)
{
    loginPageModel.DoLogin(username, password);
}

如NUnit 3官方文档中所述,如何将excel数据转换为此类数据?
NUnit 3 officialdocumentation?

static object[] Data = {
        new object[] {username, password}
    };

问题答案:

我所做的是以下内容,它正在工作

我有测试:

[Test TestCaseSource(typeof(ExcelDataParser),"BudgetData") Category("1")]
public void AchterBudget(string min, string max)
{
.....
}

通过调用类ExcelReader中的readExcelData()方法来读取Excel文件的类ExcelDataParser

class ExcelDataParser
{
static string pth = System.Reflection.Assembly.GetCallingAssembly().CodeBase;
static string actualPath = pth.Substring(0, pth.LastIndexOf("bin"));
static string projectPath = new Uri(actualPath).LocalPath;
static string excelPath = projectPath + @"com.seloger.resources\excelData\";

public static IEnumerable<TestCaseData> BudgetData
{
  get
   {
      List<TestCaseData> testCaseDataList = new ExcelReader().ReadExcelData(excelPath + "AcheterBudgetData.xlsx");

if (testCaseDataList != null)
   foreach (TestCaseData testCaseData in testCaseDataList)
                                yield return testCaseData;
                    }
                }
    }

这是ExcelReader类,其中包含方法ReadExcelData,该方法将每行从excel文件转换为TestCaseData:

class ExcelReader
    {
        public List<TestCaseData> ReadExcelData(string excelFile, string cmdText = "SELECT * FROM [Feuil1$]")
        {
            if (!File.Exists(excelFile))
                throw new Exception(string.Format("File name: {0}", excelFile), new FileNotFoundException());
            string connectionStr = string.Format("Provider=Microsoft.ACE.OLEDB.12.0;Data Source={0};Extended Properties=\"Excel 12.0 Xml;HDR=YES\";", excelFile);
            var ret = new List<TestCaseData>();
            using (var connection = new OleDbConnection(connectionStr))
            {
                connection.Open();
                var command = new OleDbCommand(cmdText, connection);
                var reader = command.ExecuteReader();
                if (reader == null)
                    throw new Exception(string.Format("No data return from file, file name:{0}", excelFile));
                while (reader.Read())
                {
                    var row = new List<string>();
                    var feildCnt = reader.FieldCount;
                    for (var i = 0; i < feildCnt; i++)
                        row.Add(reader.GetValue(i).ToString());
                    ret.Add(new TestCaseData(row.ToArray()));
                }
            }
            return ret;
        }
    }


 类似资料:
  • 本文向大家介绍mongodb使用c#驱动数据插入demo,包括了mongodb使用c#驱动数据插入demo的使用技巧和注意事项,需要的朋友参考一下 Mongodb提供了多种开发语言的驱动,java,python,c++,c# 等,这里选用c#驱动作为测试; 首先上mongo官网下载驱动。Ps:官方网站经常连接不顺利。 还不如直接在vs的nuget管理包中搜索mongoDB.driver. 需要引入

  • 我们希望在Cucumber中使用外部文件(如excel工作表)实现数据驱动测试,而不使用Cucumber提供的DataTable或Examples关键字。 这是我的特征文件 功能:验证登录页方案大纲:使用excel和数据集驱动数据 当我进入登录页面时,我会使用excel行输入用户名和密码。” 在上面的示例中,我们根据文件中提供的行索引从excel读取数据。 很难在功能文件中写入这么多记录,因为数据

  • 使用此文档了解如何使用数据驱动的动画 数据驱动的动画是使用从各种数据源收集的实时数据创建的,这些数据源驱动着合成中的动画。您可以使用来自多个数据源的数据。数据可以为静态或随时间变化。您可以将数据导入 After Effects 项目并将其用作输入,用于对图形、字符、控件视觉效果、电影字幕以及其他动态图形进行动画制作。数据驱动的动画示例 数据源 您可以使用几乎所有可能的来源的数据,例如: 设备生成的

  • 关于数据驱动图形 数据驱动图形能够实现既快捷又精确地制作出图稿的多个版本。比方说,您要根据同一模板制作 500 个各不相同的 Web 横幅。您无需手动为模板填充数据(图像、文本等等),借助数据驱动图形,您可以使用引用数据库的脚本来自动生成 Web 横幅。 在 Illustrator 中,可以将任一图稿转化成数据驱动图形模板。您要做的只是定义画板上哪些对象是使用变量的动态(可变)对象。您可以利用变量

  • 然而我却遇到了错误。我无法确定错误发生的确切位置,但我从结果树中获得了如下错误消息: 对于JSR223采样器 响应消息:javax.script.scriptException:源文件:内联计算:import org.apache.poi.xssf.usermodel.xssfworkbook;导入org.apache.poi.xssf.us。..“:INTEGER.parseint(vars.g

  • 我有以下类要测试