Ich arbeite mit Selen Webdriver - Java.
Ich muss die Ergebnisse von Testfällen in eine Excel-Datei schreiben, ich habe Apache POI.I war erfolgreich beim Erstellen einer Excel-Datei und Schreiben der Ergebnisse von Testfall "Registrierung" in es. Jetzt möchte ich das Ergebnis von Testcase "Login" auf ein anderes Blatt in derselben Excel-Datei schreiben. Wie kann ich meiner Excel-Datei ein neues Blatt hinzufügen und darin schreiben? Ich werde das deutlicher erklären. Ich habe 3 Klassen: QZO.java
, QZO_Registration.java
und QZO-Login.java
. - QZO_Registration.java enthält verschiedene Testfälle der Registrierung. - QZO_Login enthält verschiedene Testfälle von Login. - QZO.java enthält einige Funktionen, die für QZO_Registration und QZO_Login üblich sind. - QZO.java enthält den Code zum Erstellen von 2 Blättern in der Klasse
sheet1 = workbook.createSheet ("TestResult_Registration"); sheet2 = workbook.createSheet("TestResult_Registration");
Wenn ich die Klasse QZO_Registration ausführen, wird eine Excel-Datei mit 2 Blättern TestResult_Registration und TestResult_Login erstellt. Das Ergebnis der Testfälle der Registrierung wird in das Blatt TestResult_Registration geschrieben. Aber wenn ich die Klasse QZO_Login ausführen, wird die Werte in dem Blatt TestResult_Registration gelöscht zu werdenSo erstellen Sie ein neues Blatt in einer Excel-Datei mit Apache Poi in Selen Webdriver mit Java
QZO_Registration.java
package User;
import java.io.IOException;
import junit.framework.Assert;
import jxl.read.biff.BiffException;
import org.openqa.selenium.WebElement;
import org.testng.annotations.AfterTest;
import org.testng.annotations.BeforeTest;
import org.testng.annotations.Test;
@SuppressWarnings("deprecation")
public class QZO_Registration extends QZO {
@BeforeTest
public void beforeTest() throws BiffException, IOException,InterruptedException {
openBrowser(1);
input(properties.getProperty("VAR_REGISTRATIONDETAILS"));
}
/* Registration without entering email */
@Test(priority = 0)
public void registrationWithoutEmail() throws InterruptedException {
try {
int emptyEmailRowNumber = 1;
WebElement registration = webElement("VAR_REGISTRATION");
registration.click();
Thread.sleep(1000);
WebElement email = webElement("VAR_REGISTRATION_EMAIL");
email.clear();
email.sendKeys(getCellContent(0, emptyEmailRowNumber));
Thread.sleep(1000);
WebElement username = webElement("VAR_REGISTRATION_USERNAME");
username.clear();
username.sendKeys(getCellContent(1, emptyEmailRowNumber));
Thread.sleep(1000);
WebElement password = webElement("VAR_REGISTRATION_PASSWORD");
password.clear();
password.sendKeys(getCellContent(2, emptyEmailRowNumber));
Thread.sleep(1000);
WebElement confirmPassword = webElement("VAR_REGISTRATION_CONFIRMPASSWORD");
confirmPassword.clear();
confirmPassword.sendKeys(getCellContent(3, emptyEmailRowNumber));
Thread.sleep(1000);
WebElement continueButton = webElement("VAR_CONTINUE");
continueButton.click();
Thread.sleep(1000);
WebElement errorText = webElement("VAR_ERRORTEXT");
String message = errorText.getText();
Assert.assertEquals("Error! Please enter email", message);
testresultdata.put("2", new Object[] { 1d, "Registration","Registration without entering email","Should show an error message","An error message is shown", "Pass" });
} catch (Exception e) {
testresultdata.put("2", new Object[] { 1d, "Registration","Registration without entering email","Should show an error message","Error message is not shown", "Fail" });
} }
/* Registration without entering username */
@Test(priority = 1)
public void registrationWithoutUsername() throws InterruptedException {
try {
int emptyUsernameRowNumber = 2;
WebElement registration = webElement("VAR_REGISTRATION");
registration.click();
Thread.sleep(1000);
WebElement email = webElement("VAR_REGISTRATION_EMAIL");
email.clear();
email.sendKeys(getCellContent(0, emptyUsernameRowNumber));
Thread.sleep(1000);
WebElement username = webElement("VAR_REGISTRATION_USERNAME");
username.clear();
username.sendKeys(getCellContent(1, emptyUsernameRowNumber));
Thread.sleep(1000);
WebElement password = webElement("VAR_REGISTRATION_PASSWORD");
password.clear();
password.sendKeys(getCellContent(2, emptyUsernameRowNumber));
Thread.sleep(1000);
WebElement confirmPassword = webElement("VAR_REGISTRATION_CONFIRMPASSWORD");
confirmPassword.clear();
confirmPassword.sendKeys(getCellContent(3, emptyUsernameRowNumber));
Thread.sleep(1000);
WebElement continueButton = webElement("VAR_CONTINUE");
continueButton.click();
Thread.sleep(1000);
WebElement errorText = webElement("VAR_ERRORTEXT");
String message = errorText.getText();
Assert.assertEquals("Error! Enter username", message);
testresultdata.put("3", new Object[] { 2d, "Registration","Registration without entering username","Should show an error message","An error message is shown", "Pass" });
} catch (Exception e) {
testresultdata.put("3", new Object[] { 2d, "Registration","Registration without entering username","Should show an error message","Error message is not shown", "Fail" });
}}
/* Registration without entering password */
@Test(priority = 2)
public void registrationWithoutPassword() throws InterruptedException {
try {
int emptyPasswordRowNumber = 3;
WebElement registration = webElement("VAR_REGISTRATION");
registration.click();
Thread.sleep(1000);
WebElement email = webElement("VAR_REGISTRATION_EMAIL");
email.clear();
email.sendKeys(getCellContent(0, emptyPasswordRowNumber));
Thread.sleep(1000);
WebElement username = webElement("VAR_REGISTRATION_USERNAME");
username.clear();
username.sendKeys(getCellContent(1, emptyPasswordRowNumber));
Thread.sleep(1000);
WebElement password = webElement("VAR_REGISTRATION_PASSWORD");
password.clear();
password.sendKeys(getCellContent(2, emptyPasswordRowNumber));
Thread.sleep(1000);
WebElement confirmPassword = webElement("VAR_REGISTRATION_CONFIRMPASSWORD");
confirmPassword.clear();
confirmPassword.sendKeys(getCellContent(3, emptyPasswordRowNumber));
Thread.sleep(1000);
WebElement continueButton = webElement("VAR_CONTINUE");
continueButton.click();
Thread.sleep(1000);
WebElement errorText = webElement("VAR_ERRORTEXT");
String message = errorText.getText();
Assert.assertEquals("Error! Enter password", message);
testresultdata.put("4", new Object[] { 3d, "Registration","Registration without entering password","Should show an error message","An error message is shown", "Pass" });
} catch (Exception e) {
testresultdata.put("4", new Object[] { 3d, "Registration","Registration without entering password","Should show an error message","Error message is not shown", "Fail" });
} }
/* Registration without entering confirmpassword */
@Test(priority = 3)
public void registrationWithoutConfirmPassword()throws InterruptedException {
try {
int emptyConfirmPasswordRowNumber = 4;
WebElement registration = webElement("VAR_REGISTRATION");
registration.click();
Thread.sleep(1000);
WebElement email = webElement("VAR_REGISTRATION_EMAIL");
email.clear();
email.sendKeys(getCellContent(0, emptyConfirmPasswordRowNumber));
Thread.sleep(1000);
WebElement username = webElement("VAR_REGISTRATION_USERNAME");
username.clear();
username.sendKeys(getCellContent(1, emptyConfirmPasswordRowNumber));
Thread.sleep(1000);
WebElement password = webElement("VAR_REGISTRATION_PASSWORD");
password.clear();
password.sendKeys(getCellContent(2, emptyConfirmPasswordRowNumber));
Thread.sleep(1000);
WebElement confirmPassword = webElement("VAR_REGISTRATION_CONFIRMPASSWORD");
confirmPassword.clear(); confirmPassword.sendKeys(getCellContent(3,emptyConfirmPasswordRowNumber));
Thread.sleep(1000);
WebElement continueButton = webElement("VAR_CONTINUE");
continueButton.click();
Thread.sleep(1000);
WebElement errorText = webElement("VAR_ERRORTEXT");
String message = errorText.getText();
Assert.assertEquals("Error! Enter confirm password", message);
testresultdata.put("5", new Object[] { 4d, "Registration","Registration without entering confirm password","Should show an error message","An error message is shown", "Pass" });
} catch (Exception e) {
testresultdata.put("5", new Object[] { 4d, "Registration","Registration without entering confirm password","Should show an error message","Error message is not shown", "Fail" });
}}
/* Registration with existing email */
@Test(priority = 4)
public void registrationWithExistingEmail() throws InterruptedException {
try {
int emptyExistingEmailRowNumber = 5;
WebElement registration = webElement("VAR_REGISTRATION");
registration.click();
Thread.sleep(1000);
WebElement email = webElement("VAR_REGISTRATION_EMAIL");
email.clear();
email.sendKeys(getCellContent(0, emptyExistingEmailRowNumber));
Thread.sleep(1000);
WebElement username = webElement("VAR_REGISTRATION_USERNAME");
username.clear();
username.sendKeys(getCellContent(1, emptyExistingEmailRowNumber));
Thread.sleep(1000);
WebElement password = webElement("VAR_REGISTRATION_PASSWORD");
password.clear();
password.sendKeys(getCellContent(2, emptyExistingEmailRowNumber));
Thread.sleep(1000);
WebElement confirmPassword = webElement("VAR_REGISTRATION_CONFIRMPASSWORD");
confirmPassword.clear();
confirmPassword.sendKeys(getCellContent(3,emptyExistingEmailRowNumber));
Thread.sleep(1000);
WebElement continueButton = webElement("VAR_CONTINUE");
continueButton.click();
Thread.sleep(1000);
WebElement errorText = webElement("VAR_ERRORTEXT");
String message = errorText.getText();
Assert.assertEquals("Error! Email already exists", message);
testresultdata.put("6", new Object[] { 5d, "Registration","Registration with existing email","Should show an error message","An error message is shown", "Pass" });
} catch (Exception e) {
testresultdata.put("6", new Object[] { 5d, "Registration","Registration with existing email","Should show an error message","Error message is not shown", "Fail" });
} }
/* Registration with existing username */
@Test(priority = 5)
public void registrationWithExistingUsername() throws InterruptedException {
try {
int emptyExistingUsernameRowNumber = 6;
WebElement registration = webElement("VAR_REGISTRATION");
registration.click();
Thread.sleep(1000);
WebElement email = webElement("VAR_REGISTRATION_EMAIL");
email.clear();
email.sendKeys(getCellContent(0, emptyExistingUsernameRowNumber));
Thread.sleep(1000);
WebElement username = webElement("VAR_REGISTRATION_USERNAME");
username.clear();
username.sendKeys(getCellContent(1, emptyExistingUsernameRowNumber));
Thread.sleep(1000);
WebElement password = webElement("VAR_REGISTRATION_PASSWORD");
password.clear();
password.sendKeys(getCellContent(2, emptyExistingUsernameRowNumber));
Thread.sleep(1000);
WebElement confirmPassword = webElement("VAR_REGISTRATION_CONFIRMPASSWORD");
confirmPassword.clear();
confirmPassword.sendKeys(getCellContent(3,emptyExistingUsernameRowNumber));
Thread.sleep(1000);
WebElement continueButton = webElement("VAR_CONTINUE");
continueButton.click();
Thread.sleep(1000);
WebElement errorText = webElement("VAR_ERRORTEXT");
String message = errorText.getText();
Assert.assertEquals("Error! Username already exists", message);
testresultdata.put("7", new Object[] { 6d, "Registration","Registration with existing username","Should show an error message","An error message is shown", "Pass" });
} catch (Exception e) {
testresultdata.put("7", new Object[] { 6d, "Registration","Registration with existing username","Should show an error message","Error message is not shown", "Fail" });
} }
/* Registration with password and confirm password are different */
@Test(priority = 6)
public void registrationWithPasswordMismatch() throws InterruptedException {
try {
int passwordMismatchRowNumber = 7;
WebElement registration = webElement("VAR_REGISTRATION");
registration.click();
Thread.sleep(1000);
WebElement email = webElement("VAR_REGISTRATION_EMAIL");
email.clear();
email.sendKeys(getCellContent(0, passwordMismatchRowNumber));
Thread.sleep(1000);
WebElement username = webElement("VAR_REGISTRATION_USERNAME");
username.clear();
username.sendKeys(getCellContent(1, passwordMismatchRowNumber));
Thread.sleep(1000);
WebElement password = webElement("VAR_REGISTRATION_PASSWORD");
password.clear();
password.sendKeys(getCellContent(2, passwordMismatchRowNumber));
Thread.sleep(1000);
WebElement confirmPassword = webElement("VAR_REGISTRATION_CONFIRMPASSWORD");
confirmPassword.clear();
confirmPassword.sendKeys(getCellContent(3,passwordMismatchRowNumber));
Thread.sleep(1000);
WebElement continueButton = webElement("VAR_CONTINUE");
continueButton.click();
Thread.sleep(1000);
WebElement errorText = webElement("VAR_ERRORTEXT");
String message = errorText.getText();
Assert.assertEquals("Error! Password and confirm password must match!", message);
testresultdata.put("8",new Object[] {7d,"Registration","Registration with different password and confirm password","Should show an error message","An error message is shown", "Pass" });
} catch (Exception e) {
testresultdata.put("8",new Object[] {7d,"Registration","Registration with different password and confirm password","Should show an error message","Error message is not shown", "Fail" });
} }
/* Successfull Registration */
@Test(priority = 7)
public void registrationSuccess() throws InterruptedException {
try {
int successfullRegistrationRowNumber = 8;
WebElement registration = webElement("VAR_REGISTRATION");
registration.click();
Thread.sleep(1000);
WebElement email = webElement("VAR_REGISTRATION_EMAIL");
email.clear();
email.sendKeys(getCellContent(0, successfullRegistrationRowNumber));
Thread.sleep(1000);
WebElement username = webElement("VAR_REGISTRATION_USERNAME");
username.clear();
username.sendKeys(getCellContent(1,successfullRegistrationRowNumber));
Thread.sleep(1000);
WebElement password = webElement("VAR_REGISTRATION_PASSWORD");
password.clear();
password.sendKeys(getCellContent(2,successfullRegistrationRowNumber));
Thread.sleep(1000);
WebElement confirmPassword = webElement("VAR_REGISTRATION_CONFIRMPASSWORD");
confirmPassword.clear(); confirmPassword.sendKeys(getCellContent(3,successfullRegistrationRowNumber));
Thread.sleep(1000);
WebElement continueButton = webElement("VAR_CONTINUE");
continueButton.click();
Thread.sleep(1000);
WebElement successMessage = webElement("VAR_SUCCESSMESSAGE");
String message = successMessage.getText();
Assert.assertEquals("Registration successful", message);
Thread.sleep(1000);
WebElement okbutton = webElement("VAR_REGISTRATION_OKBUTTON");
okbutton.click();
testresultdata.put("9", new Object[] { 8d, "Registration","Successfull registration","User should be successfully registered","User is successfully registered", "Pass" });
} catch (Exception e) {
testresultdata.put("9", new Object[] { 8d, "Registration","Successfull registration", "Should show an error message","Error message is not shown", "Fail" });
}
}
@AfterTest
public void afterTest() throws InterruptedException, BiffException, IOException {
closeBrowser();
} }
QZO_Login.java
package User;
import java.io.IOException;
import junit.framework.Assert;
import jxl.read.biff.BiffException;
import org.openqa.selenium.WebElement;
import org.testng.annotations.AfterTest;
import org.testng.annotations.BeforeTest;
import org.testng.annotations.Test;
@SuppressWarnings("deprecation")
public class QZO_login extends QZO {
@BeforeTest
public void beforeTest() throws BiffException, IOException,InterruptedException {
openBrowser(2);
input(properties.getProperty("VAR_LOGINDETAILS"));
}
/* Login without entering username */
@Test(priority = 0)
public void loginWithoutUsername() throws InterruptedException {
try {
int emptyUsernameRowNumber = 1;
WebElement login = webElement("VAR_LOGIN");
login.click();
Thread.sleep(1000);
WebElement username = webElement("VAR_USERNAME");
username.clear();
username.sendKeys(getCellContent(0, emptyUsernameRowNumber));
Thread.sleep(1000);
WebElement password = webElement("VAR_PASSWORD");
password.sendKeys(getCellContent(1, emptyUsernameRowNumber));
WebElement continueButton = webElement("VAR_CONTINUE");
continueButton.click();
Thread.sleep(2000);
WebElement errorText = webElement("VAR_ERRORTEXT");
String message = errorText.getText();
Assert.assertEquals("Error! Please enter email!", message);
testresultdata.put("10", new Object[] { 9d, "Login","Login without username", "Should show an error message","An error message is shown", "Pass" });
} catch (Exception e) {
testresultdata.put("10", new Object[] { 9d, "Login","Login without username", "Should show an error message","Error message is not shown", "Fail" });
}}
/* Login without entering password */
@Test(priority = 1)
public void loginWithoutPassword() throws InterruptedException {
try {
int emptyPasswordRowNumber = 2;
WebElement login = webElement("VAR_LOGIN");
login.click();
Thread.sleep(1000);
WebElement username = webElement("VAR_USERNAME");
username.clear();
username.sendKeys(getCellContent(0, emptyPasswordRowNumber));
Thread.sleep(1000);
WebElement password = webElement("VAR_PASSWORD");
password.clear();
password.sendKeys(getCellContent(1, emptyPasswordRowNumber));
WebElement continueButton = webElement("VAR_CONTINUE");
continueButton.click();
Thread.sleep(2000);
WebElement errorText = webElement("VAR_ERRORTEXT");
String message = errorText.getText();
Assert.assertEquals("Error! Please enter password!", message);
testresultdata.put("11", new Object[] { 10d, "Login","Login without password", "Should show an error message","An error message is shown", "Pass" });
} catch (Exception e) {
testresultdata.put("11", new Object[] { 10d, "Login","Login without password", "Should show an error message","Error message is not shown", "Fail" });
}}
/* Login with wrong password */
@Test(priority = 2)
public void loginWithWrongPassword() throws InterruptedException {
try {
int wrongPasswordRowNumber = 3;
WebElement login = webElement("VAR_LOGIN");
login.click();
Thread.sleep(1000);
WebElement username = webElement("VAR_USERNAME");
username.clear();
username.sendKeys(getCellContent(0, wrongPasswordRowNumber));
Thread.sleep(1000);
WebElement password = webElement("VAR_PASSWORD");
password.clear();
password.sendKeys(getCellContent(1, wrongPasswordRowNumber));
WebElement continueButton = webElement("VAR_CONTINUE");
continueButton.click();
Thread.sleep(2000);
WebElement errorText = webElement("VAR_ERRORTEXT");
String message = errorText.getText();
Assert.assertEquals("Sorry.. Please check your email or password.!", message);
testresultdata.put("12", new Object[] { 11d, "Login","Login with wrong username","Should show an error message","An error message is shown", "Pass" });
} catch (Exception e) {
testresultdata.put("12", new Object[] { 11d, "Login","Login with wrong username","Should show an error message","Error message is not shown", "Fail" });
} }
/* Login with wrong username */
@Test(priority = 3)
public void loginWithWrongUsername() throws InterruptedException {
try {
int wrongPasswordRowNumber = 4;
WebElement login = webElement("VAR_LOGIN");
login.click();
Thread.sleep(1000);
WebElement username = webElement("VAR_USERNAME");
username.clear();
username.sendKeys(getCellContent(0, wrongPasswordRowNumber));
Thread.sleep(1000);
WebElement password = webElement("VAR_PASSWORD");
password.clear();
password.sendKeys(getCellContent(1, wrongPasswordRowNumber));
WebElement continueButton = webElement("VAR_CONTINUE");
continueButton.click();
Thread.sleep(2000);
WebElement errorText = webElement("VAR_ERRORTEXT");
String message = errorText.getText();
Assert.assertEquals("Sorry.. Please check your email or password.!", message);
testresultdata.put("13", new Object[] { 12d, "Login","Login with wrong password","Should show an error message","An error message is shown", "Pass" });
} catch (Exception e) {
testresultdata.put("13", new Object[] { 12d, "Login","Login with wrong password","Should show an error message","Error message is not shown", "Fail" });
} }
/* Login without clicking on the activation link */
@Test(priority = 4)
public void loginWithoutActivation() throws InterruptedException {
try {
int wrongUsernameRowNumber = 5;
WebElement login = webElement("VAR_LOGIN");
login.click();
Thread.sleep(1000);
WebElement username = webElement("VAR_USERNAME");
username.clear();
username.sendKeys(getCellContent(0, wrongUsernameRowNumber));
Thread.sleep(1000);
WebElement password = webElement("VAR_PASSWORD");
password.clear();
password.sendKeys(getCellContent(1, wrongUsernameRowNumber));
WebElement continueButton = webElement("VAR_CONTINUE");
continueButton.click();
Thread.sleep(2000);
WebElement errorText = webElement("VAR_ERRORTEXT1");
String message = errorText.getText();
Assert.assertEquals("Registration not completed !", message);
WebElement okButton = webElement("VAR_OKBUTTON");
okButton.click();
testresultdata.put("14", new Object[] { 13d, "Login","Login without activation", "Should show an error message","An error message is shown", "Pass" });
} catch (Exception e) {
testresultdata.put("14", new Object[] { 13d, "Login","Login without activation", "Should show an error message","Error message is not shown", "Fail" });
} }
/* Successful Login */
@Test(priority = 5)
public void loginSuccess() throws InterruptedException {
try {
int successRowNumber = 6;
WebElement login = webElement("VAR_LOGIN");
login.click();
Thread.sleep(1000);
WebElement username = webElement("VAR_USERNAME");
username.clear();
username.sendKeys(getCellContent(0, successRowNumber));
Thread.sleep(1000);
WebElement password = webElement("VAR_PASSWORD");
password.clear();
password.sendKeys(getCellContent(1, successRowNumber));
WebElement continueButton = webElement("VAR_CONTINUE");
continueButton.click();
Thread.sleep(2000);
String currentURL = driver.getCurrentUrl();
Assert.assertEquals(currentURL,"http://mqdemostaging.azurewebsites.net/Dashboard");
testresultdata.put("15",new Object[] {14d,"Login","Successfull Login","User should be successfully logged in to the application","User is successfully logged in to the application","Pass" });
} catch (Exception e) {
testresultdata.put("15", new Object[] { 14d, "Login","Successfull Login", "Should show an error message","Error message is shown", "Fail" });
} }
@AfterTest
public void afterTest() throws InterruptedException, BiffException, IOException {
closeBrowser();
}}
QZO.java
Paket Benutzer;
import java.awt.AWTException;
import java.awt.Robot;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.Arrays;
import java.util.Date;
import java.util.LinkedHashMap;
import java.util.Map;
import java.util.Properties;
import jxl.Sheet;
import jxl.Workbook;
import jxl.read.biff.BiffException;
import org.apache.poi.hssf.usermodel.HSSFSheet;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.openqa.selenium.By;
import org.openqa.selenium.Point;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.chrome.ChromeDriver;
import org.openqa.selenium.interactions.Action;
import org.openqa.selenium.interactions.Actions;
import org.openqa.selenium.support.ui.Select;
public class QZO {
WebDriver driver;
WebDriver tempDriver;
protected Properties properties;
private final String PROPERTY_FILE_NAME = "constant.properties";
private Sheet excelSheet;
HSSFWorkbook workbook;
HSSFSheet sheet;
Map<String, Object[]> testresultdata;
int rowNumber=1;
public QZO() {
properties = new Properties();
try {
InputStream inputStream = getClass().getClassLoader()
.getResourceAsStream(PROPERTY_FILE_NAME);
if (null != inputStream) {
properties.load(inputStream);
}
} catch (IOException e) {
e.printStackTrace();
}
}
public int openBrowser(int value) throws BiffException, IOException,InterruptedException {
input(properties.getProperty("VAR_SHEETS"));
System.setProperty("webdriver.chrome.driver","D:\\MyProjects\\SeleniumTrials\\chromedriver_win32\\chromedriver.exe");
driver = new ChromeDriver();
driver.get(properties.getProperty("VAR_BASEURL"));
driver.manage().window().maximize();
workbook = new HSSFWorkbook();
sheet = workbook.createSheet("TestResult_Registration");
//sheet = workbook.createSheet("TestResult_Login");
testresultdata = new LinkedHashMap<String, Object[]>();
testresultdata.put("1", new Object[] { "Test Case Id", "Functionality","Action", "Expected Result", "Actual Result", "Status" });
return 0;
}
public void input(String fileName) throws BiffException, IOException,
InterruptedException {
FileInputStream fi = new FileInputStream(fileName);
Workbook w = Workbook.getWorkbook(fi);
excelSheet = w.getSheet(0);
Thread.sleep(1000);
}
public String getCellContent(int columnNumber, int rowNumber) {
return excelSheet.getCell(columnNumber, rowNumber).getContents();
}
public WebElement webElement(String element) {
return driver.findElement(By.xpath(properties.getProperty(element)));
}
public void closeBrowser() throws InterruptedException, BiffException, IOException {
Thread.sleep(1000);
Set<String> keyset = testresultdata.keySet();
int rownum = 0;
for (String key : keyset) {
Row row = sheet.createRow(rownum++);
Object[] objArr = testresultdata.get(key);
int cellnum = 0;
for (Object obj : objArr) {
org.apache.poi.ss.usermodel.Cell cell = row.createCell(cellnum++);
if (obj instanceof Date)
cell.setCellValue((Date) obj);
else if (obj instanceof Boolean)
cell.setCellValue((Boolean) obj);
else if (obj instanceof String)
cell.setCellValue((String) obj);
else if (obj instanceof Double)
cell.setCellValue((Double) obj);
}
}
try {
FileOutputStream out = new FileOutputStream("D:\\MyProjects\\Selenium Trials\\QZO\\src\\Resources\\Data\\TestResult.xls");
workbook.write(out);
out.close();
System.out.println("Excel written successfully..");
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
driver.quit();
}
}
Das hat nicht für mich funktioniert. Ich werde es deutlicher erklären. Ich habe 3 Klassen: QZO.java, QZO_Registration.java und QZO-Login.java. In QZO_Registration.java habe ich verschiedene Testfälle der Registrierung geschrieben. Ähnlich habe ich in QZO_Login verschiedene Testfälle von Login geschrieben. Die Klasse QZO.java hat einige Funktionen, die für QZO_Registration und QZO_Login üblich sind. Jetzt habe ich den Code zum Erstellen von 2 Blättern in der Klasse QZO.java geschrieben. // sheet1 = workbook.createSheet ("TestResult_Registration"); sheet2 = workbook.createSheet ("TestResult_Registration"); – Amrutha
Beim Ausführen der Klasse QZO_Registration wird eine Excel-Datei mit 2 Blättern TestResult_Registration und TestResult_Login erstellt. Und das Ergebnis der Testfälle der Registrierung wird in das Blatt TestResult_Registration geschrieben. Aber wenn ich die Klasse QZO_Login ausführen, werden die Werte im Blatt TestResult_Registration gelöscht. – Amrutha
Code wird mit der Frage hinzugefügt – Amrutha