Я довольно новичок в Selenium webdriver и Java, ранее я использовал Selenium IDE. Я пытаюсь прочитать testdata из листа Excel. Затем он записывается в консоль Eclipse, которая работает и должна использоваться для выполнения фактического теста, который не работает. Фактический тест не выполняется, потому что я получаю несоответствие типа аргумента ошибки. Код выглядит так:Несоответствие типа аргумента в JUnit
package Test_Excel;
import java.io.FileInputStream;
import java.io.IOException;
import java.util.Arrays;
import org.junit.Assert;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.junit.runners.Parameterized;
import org.junit.runners.Parameterized.Parameters;
import jxl.Sheet;
import jxl.Workbook;
import jxl.read.biff.BiffException;
@RunWith(Parameterized.class)
public class TestWithExcelData {
// Our two parameters
private final int input;
private final int resultExpected;
// Constructor
public TestWithExcelData(int input, int result) {
this.input = input;
this.resultExpected = result;
}
@Parameters
public static Iterable<Object []> data() throws BiffException, IOException
{
String FilePath = "C://Selenium//workspace//testproject//src//testdata//TestData.xls";
FileInputStream fs = new FileInputStream(FilePath);
Object[][] object = new Object[6][2];
Workbook wb = Workbook.getWorkbook(fs);
//locate the excel file in the local machine
Sheet sheet = wb.getSheet("IOResult");
int i=1; //avoid header row
while(!(sheet.getCell(0, i).getContents().equals("end"))) //read data till it reaches the cell whose text is ‘end’
{
object[i-1][0]=sheet.getCell(0, i).getContents();
object[i-1][1]=sheet.getCell(1, i).getContents();
System.out.print(sheet.getCell(0, i).getContents() + "\t");
System.out.print(sheet.getCell(1, i).getContents() + "\t");
System.out.println();
i++;
}
return Arrays.asList(object);
}
@Test
public void testSquareOff(){
Assert.assertEquals(resultExpected, MathUtils.square(input));
}
}
Есть ли кто-нибудь, кто может указать мне в правильном направлении?
Заранее спасибо
Можете ли вы показать нам трассирование? –
Кстати, вам не нужно обертывать массив объектов в список в JUnit 4.12. data() может возвращать Object [] []. См. Http://junit.org/javadoc/latest/org/junit/runners/Parameterized.html. –