当前位置: 首页 > 知识库问答 >
问题:

DataProvider不允许返回字符串2D数组

夏兴生
2023-03-14

我已经用TestNG创建了一个Selenium框架。在此框架中,@Dataprovider包含一组代码,这些代码从Excel读取数据,并将该值作为2D数组返回给@Test。

@DataProvider(name="excelParam")
    public static String[][] loginData()
    {
        return Util.Excel.get("/LearningSelenium/creds.xls");
    }

    @Test(dataProvider = "excelParam")
    public void loginTest(String username, String password) {
        driver.findElement(By.name("uid")).sendKeys(username);
        driver.findElement(By.name("password")).sendKeys(password);
        driver.findElement(By.name("btnLogin")).click();
}

“get”方法返回字符串[]。但我得到的错误是“数据提供程序必须返回对象[]”。如果我将其更改为对象[],则我的测试用例失败,错误如下:

org.testng.internal.reflect.MethodMatcherException: 
[public void ParameterTestExcel.loginTest(java.lang.String,java.lang.String)] has no parameters defined but was found to be using a data provider (either explicitly specified or inherited from class level annotation).
Data provider mismatch

Test ignored.

===============================================
Default Suite
Total tests run: 1, Passes: 0, Failures: 1, Skips: 0
===============================================

共有1个答案

汤兴生
2023-03-14
 **

    @DataProvider(name ="Testlogin")
        public Object[][]  getData()
        {
            // here you can give data
            return data;
        }

**

your code like " public static String[][] loginData()
    {
        return Util.Excel.get("/LearningSelenium/creds.xls");
    }

your return type is string but that should be Object[][]
 类似资料:
  • 问题内容: 我在这里的研究中得到了不同的答案。 有人可以验证Redis服务器只能存储任何数值的表示吗? 例如,如果我在lpush中使用具有双重类型的Java客户端(Jedis),在发送给Redis之前是否需要将其转换为等效于字符串类型的内容? 还是有一种方法可以发送诸如double之类的实际数字类型?如果是这样,是否有任何示例代码说明了如何实现此目的? 谢谢 问题答案: Redis将所有内容存储在

  • Spring WebFlux的新手,尝试在一个endpoint中返回字符串数组,出于某种原因,它返回了JSON数组的一个串联字符串istead。 用一些类包装它可以解决问题,但想知道如何实际返回字符串数组?返回例如数组

  • 我正在学习如何使用Spring靴和胸腺嘧啶。我有一个问题,我在表单列表中提供一个特定对象的列表到一个Thymeleaf页面。当用户选择值并发布结果时,结果是所选对象的字符串,并且与我想要存储值的对象不兼容。 这可能听起来像一口,所以下面是代码。 输入:一个类将一组成分传递给表单,这个类在一个类成分列表中传递给表单(过滤对此无关紧要--插入一个列表作为model属性的值,键是一种成分类型) Thym

  • GETRANGE key start end 返回key 中字符串值的子字符串,字符串的截取范围由start 和end 两个偏移量决定(包括start 和end 在内)。可以使用负值,字符串右面下标是从-1开始的。 注意返回值处理: 1: start>=length, 则返回空字符串 2: stop>=length,则截取至字符结尾 3: 如果start 所处位置在stop右边, 返回空字符串

  • 问题内容: 我正在处理长度为25的DNA序列(请参见下面的示例)。我有一个230,000的列表,需要查找整个基因组中的每个序列(弓形虫寄生虫)。我不确定基因组有多大,但是比230,000个序列长得多。 我需要查找25个字符的每个序列,例如()。 基因组被格式化为连续字符串,即() 我不在乎它在哪里或被发现多少次,无论它是否存在。 我认为这很简单- 但是我也要找到一个在任何位置(只有一个位置)被定义

  • 我一直在捕捉非数字时遇到问题。 我试过了,但抓不住。如果我让它捕获非数字,但不让用户再次尝试输入。。。它完全停止了我的代码。 这是我的密码: