Я собираюсь начать новую роль в ближайшее время в качестве аналитика QA Software, и я пытаюсь практиковать мое автоматическое тестирование, разрабатывая некоторые основные автоматизированные тестовые сценарии с использованием Java и Selenium WebDriver , Я очень новичок в автоматизации и Java в целом, поэтому я хотел практиковать, используя форму популярного туристического сайта в качестве основы. Сценарий должен позволять вводить данные, которые были предварительно подготовлены в электронной таблице Excel, фиксировать определенные результаты на сайте на основе входных данных, а затем экспортировать эти результаты в соответствующую ячейку в той же самой электронной таблице Excel. Я на самом деле создал сценарий, который, кажется, сделать это достаточно хорошо, однако каждый раз, когда я бегу сценарий, я получаю сообщение об ошибке, которое гласит:Автоматический тестовый пример с вводом и выводом из Excel
log4j:WARN No appenders could be found for logger (org.apache.http.client.protocol.RequestAddCookies).
log4j:WARN Please initialize the log4j system properly.
log4j:WARN See http://logging.apache.org/log4j/1.2/faq.html#noconfig for more info.
Остальная часть сценария, кажется, уходят довольно гладко, но Я действительно не уверен, что эта ошибка имеет в виду или как ее исправить. Я пошел к URL-адресу, который он перечислял, но это было похоже на чтение полностью иностранного языка. Я много гулял, но мне еще нужно найти что-нибудь, что касается моего конкретного экземпляра этого сообщения об ошибке, и я надеялся, что кто-то сможет мне помочь. Большинство скриптов были собраны примерами, которые я нашел в Интернете в той или иной форме, и я собрал его, чтобы делать то, что я хочу от него. Я не уверен, что это актуально или нет, но у меня есть проект, загруженный всеми последними версиями Selenium WebDriver, Apache POI и Junit, внешними файлами JAR. Я действительно новичок в Java, Selenium WebDriver и вообще в автоматизации, поэтому, если у кого-то есть решение, особенно «почему» за этой ошибкой, это было бы высоко оценено. Весь мой код ниже.
package TestCases;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.InputStream;
import java.util.concurrent.TimeUnit;
import org.apache.poi.ss.usermodel.Cell;
import org.apache.poi.ss.usermodel.Row;
import org.apache.poi.ss.usermodel.Sheet;
import org.apache.poi.ss.usermodel.Workbook;
import org.apache.poi.ss.usermodel.WorkbookFactory;
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.firefox.FirefoxDriver;
public class OrbitzDotComBasicFormEntry1 {
public static void main(String[] args) throws Exception {
WebDriver wd = new FirefoxDriver();
String baseURL = "http://www.orbitz.com/";
wd.manage().timeouts().implicitlyWait(30, TimeUnit.SECONDS);
InputStream inp = new FileInputStream("/path/to/spreadsheet/Workbook1.xlsx");
Workbook wb = WorkbookFactory.create(inp);
Sheet sheet = wb.getSheetAt(0);
String departLocation;
String arriveLocation;
String departureDate;
String returnDate;
int rowcount=sheet.getLastRowNum();
for(int i=1;i<=rowcount;i++){
Row row = sheet.getRow(i);
Cell cell = row.getCell(4);
departLocation=sheet.getRow(i).getCell(0).getStringCellValue();
arriveLocation=sheet.getRow(i).getCell(1).getStringCellValue();
departureDate=sheet.getRow(i).getCell(2).getStringCellValue();
returnDate=sheet.getRow(i).getCell(3).getStringCellValue();
wd.get(baseURL);
//Selects the "Flights Only" radio button
wd.findElement(By.id("search.type.air")).click();
Thread.sleep(1000);
//Enter variable text into the "From" field
wd.findElement(By.name("ar.rt.leaveSlice.orig.key")).click();
wd.findElement(By.name("ar.rt.leaveSlice.orig.key")).clear();
wd.findElement(By.name("ar.rt.leaveSlice.orig.key")).sendKeys(departLocation);
//Enter variable text into the "To" field
wd.findElement(By.name("ar.rt.leaveSlice.dest.key")).click();
wd.findElement(By.name("ar.rt.leaveSlice.dest.key")).clear();
wd.findElement(By.name("ar.rt.leaveSlice.dest.key")).sendKeys(arriveLocation);
//Enter variable text into the "Leave" field
wd.findElement(By.name("ar.rt.leaveSlice.date")).click();
wd.findElement(By.name("ar.rt.leaveSlice.date")).clear();
wd.findElement(By.name("ar.rt.leaveSlice.date")).sendKeys(departureDate);
Thread.sleep(1000);
//Enter variable text into the "Return" field
wd.findElement(By.name("ar.rt.returnSlice.date")).click();
wd.findElement(By.name("ar.rt.returnSlice.date")).clear();
wd.findElement(By.name("ar.rt.returnSlice.date")).sendKeys(returnDate);
Thread.sleep(1000);
//Clicks the "Search Flights" button
wd.findElement(By.name("search")).click();
Thread.sleep(30000);
String bestPrice = wd.findElement(By.cssSelector(".money.small-cents.small-symbol")).getText();
if (cell == null)
cell = row.createCell(4);
cell.setCellType(Cell.CELL_TYPE_STRING);
cell.setCellValue(bestPrice);
FileOutputStream fileOut = new FileOutputStream("/path/to/spreadsheet/Workbook1.xlsx");
wb.write(fileOut);
fileOut.close();
}
wd.close();
System.out.println("The Class script has finished running");
}
}
Так что ваш код работает нормально, но вы просто видите предупреждение log4j? Предотвращает ли ваш код его выполнение из-за предупреждения? Я пытаюсь понять, является ли это предупреждением или ошибкой. – LINGS
Вот он, http://stackoverflow.com/questions/12532339/no-appenders-could-be-found-for-loggerlog4j – LINGS
Код, кажется, работает просто отлично, я просто получаю это сообщение об ошибке, а также код работает. – Jimono123