Thursday, June 12, 2014

Selenium : Adding hoverhighlight to Html Report

Adding hoverhighlight to Html Report





!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
   <head>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
     <title>My site title</title>
    <style style="text/css">
        .hoverTable{
               width:100%; 
               border-collapse:collapse; 
        }
        .hoverTable td{ 
               padding:7px; border:#4e95f4 1px solid;
        }
        /* Define the default color for all the table rows */
        .hoverTable tr{
               background: #b8d1f3;
        }
        /* Define the hover highlight color for the table row */
    .hoverTable tr:hover {
          background-color: #ffff99;
    }
</style>
  </head>
  
  
  <body>
   <table class="hoverTable">
        <tr>
               <td>Text 1A</td><td>Text 1B</td><td>Text 1C</td>
        </tr>
        <tr>
               <td>Text 2A</td><td>Text 2B</td><td>Text 2C</td>
        </tr>
        <tr>
               <td>Text 3A</td><td>Text 3B</td><td>Text 3C</td>
        </tr>
</table>
  </body>
</html>

Selenium : Creating Reports using embeded CSS




    
         Test Execution Summary Report 
        
        

        
    

    
        
Automation Test Results Report
Total Tests Executed Passed Failed
20 10 10

Wednesday, June 11, 2014

Selenium : Different ways to click and move cursor

Selenium : Different ways to click and move cursor

1. 
JavascriptExecutor js = (JavascriptExecutor) driver;
        StringBuilder stringBuilder = new StringBuilder();
        stringBuilder.append("var x = $('#NavHeader1_tabs_ctl00_btnNavHeaderTab');");
        stringBuilder.append("x.click();");
        js.executeScript(stringBuilder.toString());



 2. 

WebDriver driver = new FirefoxDriver();
JavascriptExecutor jse = (JavascriptExecutor)driver;
jse.executeScript("document.getElementById('gbqfb').click();");



3.

public static void mouseClickByLocator( String cssLocator ) {
     String locator = cssLocator;
     WebElement el = driver.findElement( By.cssSelector( locator ) );
     Actions builder = new Actions(driver);
     builder.moveToElement( el ).click( el );
     builder.perform();
}


4.
WebElement baseElement = driver.findElement(By.id("foo"));
Actions clicker = new Actions(driver);
clicker.moveToElement(baseElement).moveByOffset(X, Y).click().perform();


5.

public void clickAt(IWebDriver IWebDriver1,IWebElement WebElem, int x, int y)
        {
            New Action(IWebDriver1)
             .MoveToElement(WebElem, 0,0)
             .movebyOffSet(x,y)
             .click()
             .build()
             .perform();

        }


6.
new Actions(driver).moveToElement(
   canvas, xWithinCanvas, yWithinCanvas).perform();

driver.executeScript("$('#diagramCanvas').click();");


7.

Actions actionBuilder=new Actions(driver);         
Action drawOnCanvas=actionBuilder
                .contextClick(wbCanvas)
                .moveToElement(wbCanvas,8,8)
                .clickAndHold(wbCanvas)
                .moveByOffset(120, 120)
                .moveByOffset(60,70)
                .moveByOffset(-140,-140)
                .release(wbCanvas)
                .build();
drawOnCanvas.perform();


8.

org.openqa.selenium.Point coordinates =driver.findElement(By.xpath("//canvas")).getLocation();
System.out.println("Co-ordinates"+coordinates);
Robot robot = new Robot();
robot.mouseMove(coordinates.getX(),coordinates.getY());
robot.mousePress( InputEvent.BUTTON1_DOWN_MASK);
robot.mouseRelease(InputEvent.BUTTON1_DOWN_MASK);


Wednesday, June 4, 2014

Selenium : Create muliple Log files using Log4j.properties file

Selenium : Create muliple Log files using Log4j.properties file

To Create a separate log file "Firefox.log" along with the usual "Application.log" and "Selenium.log"

---------------------------------------------------------------------------------------
#Log4j.properties

#Root logger option
log4j.rootLogger=debug,file
log4j.appender.file=org.apache.log4j.RollingFileAppender
log4j.appender.file.File=D:\\Shiva_Framework\\TestNG_v4 (all complete)\\TestNG\\TestNG\\src\\com\\web\\Selenium.log
log4j.appender.file.maxFileSize=5000KB
log4j.appender.file.maxBackupIndex=1
log4j.appender.file.layout=org.apache.log4j.PatternLayout
log4j.appender.file.layout.ConversionPattern=%d{ABSOLUTE} %5p %c{1}:%L - %m%n
#do not append the old file. Create a new log file everytime
log4j.appender.file.Append=false


#application logs
log4j.logger.devpinoyLogger=DEBUG, dest1
log4j.appender.dest1=org.apache.log4j.RollingFileAppender
log4j.appender.dest1.maxFileSize=5000KB
log4j.appender.dest1.maxBackupIndex=3
log4j.appender.dest1.layout=org.apache.log4j.PatternLayout
log4j.appender.dest1.layout.ConversionPattern=%d{dd/MM/yyyy HH:mm:ss} %c %m%n
log4j.appender.dest1.File=D:\\Shiva_Framework\\TestNG_v4 (all complete)\\TestNG\\TestNG\\src\\com\\web\\Application.log
#do not append the old file. Create a new log file everytime
log4j.appender.dest1.Append=false


#Firefox Logs (
firefox_log = is name for our instance which we will be using further)
log4j.logger.firefox_log=DEBUG, firefox_log
log4j.appender.firefox_log=org.apache.log4j.RollingFileAppender
log4j.appender.firefox_log.maxFileSize=5000KB
log4j.appender.firefox_log.maxBackupIndex=3
log4j.appender.firefox_log.layout=org.apache.log4j.PatternLayout
log4j.appender.firefox_log.layout.ConversionPattern=%d{dd/MM/yyyy HH:mm:ss} %c %m%n
log4j.appender.firefox_log.File=D:\\Shiva_Framework\\TestNG_v4 (all complete)\\TestNG\\TestNG\\src\\com\\web\\Firefox.log
#do not append the old file. Create a new log file everytime
log4j.appender.firefox_log.Append=false

---------------------------------------------------------------------------------------
//Declaration in your Class file

public static final Logger SELENIUM_LOGS= Logger.getRootLogger();
    public static final Logger APPLICATION_LOGS = Logger.getLogger("devpinoyLogger");  
public static final Logger FIREFOX_LOGS = Logger.getLogger("firefox_log");
-----------------------------------------------------------------------------------------
//Logging into the file

Your_Class.FIREFOX_LOGS.debug("Hello world");