Generating detailed reports with logs & screenshots.
Using the LoggingSelenium Interface.
1.Must have Selenium-client.jar for java
2.Junit4.jar
3.Commons-lang.jar
4.loggingselenium.jar
Include all the above jars in your classpath.
package com.est.org;
// import static com.unitedinternet.portal.selenium.utils.logging.LoggingAssert.assertEquals;
// import static com.unitedinternet.portal.selenium.utils.logging.LoggingAssert.assertTrue;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.text.ParseException;
import jxl.Sheet;
import jxl.Workbook;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;
import com.thoughtworks.selenium.HttpCommandProcessor;
import com.unitedinternet.portal.selenium.utils.logging.HtmlResultFormatter;
import com.unitedinternet.portal.selenium.utils.logging.LoggingCommandProcessor;
import com.unitedinternet.portal.selenium.utils.logging.LoggingDefaultSelenium;
import com.unitedinternet.portal.selenium.utils.logging.LoggingResultsFormatter;
import com.unitedinternet.portal.selenium.utils.logging.LoggingSelenium;
import com.unitedinternet.portal.selenium.utils.logging.LoggingUtils;
import org.openqa.selenium.server.*;
public class Loggingselenium
{
protected LoggingSelenium selenium;
private BufferedWriter loggingWriter;
private static final String RESULT_FILE_ENCODING = "UTF-8";
private static final String DEFAULT_TIMEOUT = "30000";
private static final String OPENQA_URL = "http://192.168.9.104:8080/";
private static final String SCREENSHOT_PATH = "screenshots";
private final String RESULTS_BASE_PATH = "C:/" + File.separator+ "loggingResults" + System.currentTimeMillis();
private String resultsPath = new File(RESULTS_BASE_PATH).getAbsolutePath();
private String screenshotsResultsPath = new File(RESULTS_BASE_PATH+ File.separator + SCREENSHOT_PATH).getAbsolutePath();
private SeleniumServer selServer;
@Before
public void setUp() {
if (!new File(screenshotsResultsPath).exists()) {
new File(screenshotsResultsPath).mkdirs();
}
final String resultHtmlFileName = resultsPath + File.separator+ "sampleResultSuccess.html";
loggingWriter = LoggingUtils.createWriter(resultHtmlFileName,Loggingselenium.RESULT_FILE_ENCODING, true);
LoggingResultsFormatter htmlFormatter = new HtmlResultFormatter(loggingWriter,Loggingselenium.RESULT_FILE_ENCODING);
htmlFormatter.setScreenShotBaseUri(Loggingselenium.SCREENSHOT_PATH+ "/");
htmlFormatter.setAutomaticScreenshotPath(screenshotsResultsPath);
if(selServer == null)
{
try
{
SeleniumServer selServer = new SeleniumServer();
selServer.start();
}catch(Exception e){}
}
LoggingCommandProcessor myProcessor = new LoggingCommandProcessor(new HttpCommandProcessor("localhost", 4444, "*firefox",OPENQA_URL), htmlFormatter);
myProcessor.setExcludedCommands(new String[]{});
selenium = new LoggingDefaultSelenium(myProcessor);
selenium.start();
}
@After
public void tearDown() {
selenium.stop();
try {
if (null != loggingWriter) {
loggingWriter.close();
}
} catch (IOException e) {}
}
@Test
public void loggingSelenium() throws InterruptedException,ParseException
{
selenium.setContext("loggingSelenium()");
selenium.open("/epc-client");
selenium.windowFocus();
selenium.windowMaximize();
selenium.captureScreenshot(screenshotsResultsPath + File.separator+ "openQaHomePage_" + LoggingUtils.timeStampForFileName()+ ".png");
try {
selenium.click("link=Search UPRN by Address Web Service");
selenium.waitForPageToLoad(DEFAULT_TIMEOUT);
selenium.click("//input[@type='radio'][6]");
FileInputStream fi = new FileInputStream("C:\\Selenium\\datainput\\webservices.xls");
Workbook wBk = Workbook.getWorkbook(fi);
Sheet sht = wBk.getSheet("webService");
selenium.type("request",sht.getCell(3,0).getContents());
selenium.waitForPageToLoad(DEFAULT_TIMEOUT);
selenium.wait(30000);
selenium.click("//input[@name='Submit' and @value='submit']");
selenium.waitForPageToLoad(DEFAULT_TIMEOUT);
String textArea = selenium.getValue("//textarea[@name='header']");
if(textArea.contains("null"))
{
System.out.println("\n Invalid request XML submitted!!!!");
}
} catch (Exception e) {}
}
}
No comments:
Post a Comment