#java #selenium
#java #selenium
Вопрос:
У меня есть 2 листа Excel, я сравниваю значения ячеек, используя testNg
утверждение. Ниже приведены значения в листах 1 и лист2, после david
у меня есть пустая строка на обоих листах, мой скрипт терпит неудачу, поскольку строка 3 пуста, и она не переходит в строку 4?
Sheet1 Sheet2
sachin sachin
david david
winter winter
Я написал следующий код:-
int rowCount = xlib.getRowCount("Sheet1");
for (int i = 0; i<=rowCount;i )
{
String compair1= xlib.getExcelData("Sheet1", i, 0);
System.out.println(compair1);
String compair2=xlib.getExcelData("Sheet2", i, 0);
System.out.println(compair2);
Assert.assertEquals(compair1, compair2);
System.out.println("compared successfully");
}
Нужен правильный код, он должен пропустить 3-ю строку, поскольку она имеет пустое значение, и перейти к 4-й строке, сравнить и передать скрипт.
Комментарии:
1. Добавьте проверку того, что значение compair1 или compair2 равно null, и если это так, не утверждайте.
2. Вы могли бы просто очистить свои данные … или захватить все данные и отфильтровать пустые.
Ответ №1:
Используйте continue
инструкцию.
int rowCount = xlib.getRowCount("Sheet1");
for (int i = 0; i<=rowCount;i )
{
try {
String compair1= xlib.getExcelData("Sheet1", i, 0);
System.out.println(compair1);
String compair2=xlib.getExcelData("Sheet2", i, 0);
System.out.println(compair2);
Assert.assertEquals(compair1, compair2);
System.out.println("compared successfully");
} catch (Exception e) {
continue;
}
}
Комментарии:
1. Спасибо, что помогло!!! Но у меня есть другая проблема, у меня есть несколько строк с форматом даты (мм-дд-гггг), не удается прочитать эту запись, в ней указано значение текстовой ячейки как числовое, есть ли какой-нибудь способ, я могу прочитать формат даты и сравнить оба листа или мне нужно изменить формат даты в самом Excel?
2. Это считается другим вопросом и, следовательно, должно быть отдельным от этого. Пожалуйста, задайте отдельный вопрос относительно этой проблемы.
Ответ №2:
Вы могли бы установить цикл от i до i<=2. После этого цикла выполните еще один цикл от i = 4 до i <=rowCount.
Комментарии:
1. это один пример, но на самом деле у меня до 50 строк, некоторые из них пустые в середине, я не могу использовать много циклов вместо этого, могу ли я получить что-нибудь, если оператор, указывающий, что если строка пуста, пропустить и перейти к следующей строке вот так?
2. О, в таком случае ответ TheChubbyPanda должен быть тем, что вы ищете.