#java #junit #selenium-rc
#java #junit #selenium-rc
Вопрос:
Я использую SeleniumRC Java JUnit Eclipse.
У меня есть тестовый класс как ABC, и я запускаю этот тестовый класс из TestSuite. Я выполняю определенные условия для запуска тестового класса следующим образом:
-
На листе Excel у меня есть 3 столбца как colA, ColB, ColC и строки как Run, имя пользователя, пароль. colA, ColB, ColC имеют значения в строке Run как Yes, No, Yes соответственно.
-
Мое условие таково: только когда столбец имеет значение «Да» в строке запуска, тестовый класс будет выполняться, принимая соответствующие имя пользователя и пароль из этого столбца.
Но моя проблема в том, что каждый раз цикл выполняется до последнего столбца со значением «Да» и выполняет тестовый класс для соответствующего имени пользователя и пароля, игнорируя предыдущие столбцы со значением «Да». Почему это так?
Код для TestSuite:
public class FinalTestSuite extends TestCase
{
public static File sourceFile = new File("C:/Selenium/selenium-remote-control-1.0.3/Data.xls");
public static WorkbookSettings ws;
public static WritableWorkbook workbook;
public static WritableSheet wSheet1, wSheet2;
public static Sheet sh1, sh2, sheetFinal;
public static Workbook sourceWorkbook;
public static Label label;
public Selenium selenium;
public static int colCount, rowCount;
public static int colNum;
public static int rowNum;
public static TestSuite suite() throws Exception
{
TestSuite suite = new TestSuite();
sourceWorkbook = Workbook.getWorkbook(sourceFile);
sheetFinal = sourceWorkbook.getSheet("Begin");
colCount = sheetFinal.getColumns();
System.out.println(colCount);
rowCount = sheetFinal.getRows();
System.out.println(rowCount);
for(int col=1;col<colCount;col )
{
if((sheetFinal.getCell(col,1).getContents()).equalsIgnoreCase("yes"))
{
for(rowNum = 1;rowNum<=rowCount;rowNum )
{
if((sheetFinal.getCell(0, rowNum-1).getContents()).equalsIgnoreCase("username"))
{
id = sheetFinal.getCell(col, rowNum-1).getContents();
}
else if((sheetFinal.getCell(0, rowNum-1).getContents()).equalsIgnoreCase("Password"))
{
pwd = sheetFinal.getCell(col, rowNum-1).getContents();
}
}
suite.addTestSuite(ABC.class);
}
}
return suite;
}
public static void main(String a)
{
TestRunner.run(ABC.class);
}
}
Я где-то ошибся?
Комментарии:
1. Я попытался немного прояснить ваш вопрос — пожалуйста, проверьте, что он по-прежнему говорит то, что вы хотели сказать.
Ответ №1:
Я только что удалил:
public static void main(String a)
{
TestRunner.run(ABC.class);
}
И заменен suite.addTestSuite(ABC.class);
на TestRunner.run(ABC.class);
Теперь он работает нормально.