Hi ,
i am unable to take screen shot of every step in the extent report
screen is coming with the crop PFA screen shot. below are my code
Having said that i have gone through all the video
2- i tried my all possible scenario
Please reply with solution
package pagefactory;
import java.util.Date;
import org.openqa.selenium.Keys;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.support.FindBy;
import org.openqa.selenium.support.PageFactory;
import com.factory.util.Utility;
import com.relevantcodes.extentreports.ExtentReports;
import com.relevantcodes.extentreports.ExtentTest;
import com.relevantcodes.extentreports.LogStatus;
import pagefactory.constans.NaukriConstants;
import pagefactorybase.basePage.Page;
public class LoginPage extends Page {
@FindBy(xpath=NaukriConstants.LOGIN_LINK)
public WebElement login;
@FindBy(xpath=NaukriConstants.USER_NAME)
public WebElement user;
//@FindBy(xpath="//*[@id='userRad']")
//public WebElement radio;
@FindBy(xpath=NaukriConstants.EMAIL_FIELD)
public WebElement email;
@FindBy(xpath=NaukriConstants.PASSWORD_FIELD)
public WebElement pass;
//public ExtentTest extent ;
public LoginPage(WebDriver driver ,ExtentTest test)
{
super(driver,test);
}
public Object dologin(String username ,String password)
{
//Date d=new Date();
//String screenshotFile=d.toString().replace(":", "_").replace(" ", "_")+".png";
test.log(LogStatus.INFO, "Clicking in the login link ");
login.click();
test.log(LogStatus.INFO, "opening the loginlightbox");
user.click();
//test.log(LogStatus.INFO,"Screenshot-> "+test.addScreenCapture(System.getProperty("user.dir")+"//screenshots//"+screenshotFile));
test.log(LogStatus.INFO,"Screenshot-> "+test.addScreenCapture("E:\\Reports\\openBrowser.png"));
//radio.click();
test.log(LogStatus.INFO, "Entering username and password "+username+" /"+password);
//test.log(LogStatus.INFO,"Screenshot-> "+test.addScreenCapture(System.getProperty("user.dir")+"//screenshots//"+screenshotFile));
test.log(LogStatus.INFO,"Screenshot-> "+test.addScreenCapture("E:\\Reports\\openBrowser.png"));
email.sendKeys(username);
//test.log(LogStatus.INFO,"Screenshot-> "+test.addScreenCapture(System.getProperty("user.dir")+"//screenshots//"+screenshotFile));
test.log(LogStatus.INFO,"Screenshot-> "+test.addScreenCapture("E:\\Reports\\openBrowser.png"));
pass.sendKeys(password);
//test.log(LogStatus.INFO,"Screenshot-> "+test.addScreenCapture(System.getProperty("user.dir")+"//screenshots//"+screenshotFile));
pass.sendKeys(Keys.ENTER);
boolean loginsuccess=true;
if(loginsuccess){
test.log(LogStatus.INFO, "Login Success");
LandingPage landingpage= new LandingPage(driver,test);
PageFactory.initElements(driver, landingpage);
return landingpage;
}
else
{
test.log(LogStatus.INFO, "Login not Success");
LoginPage loginpage= new LoginPage(driver,test);
PageFactory.initElements(driver, loginpage);
loginpage.takeScreenShot(driver);
return loginpage;
}
}}
---------------------------------------------
Screen shot method in page calss----------
public void takeScreenShot(WebDriver driver ){
// fileName of the screenshot
Date d=new Date();
String screenshotFile=d.toString().replace(":", "_").replace(" ", "_")+".png";
// store screenshot in that file
File scrFile = ((TakesScreenshot)driver).getScreenshotAs(OutputType.FILE);
try {
FileUtils.copyFile(scrFile, new File(System.getProperty("user.dir")+"//screenshots//"+screenshotFile));
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
//put screenshot file in reports
test.log(LogStatus.INFO,"Screenshot-> "+test.addScreenCapture(System.getProperty("user.dir")+"//screenshots//"+screenshotFile));
//test.l
// test.log(LogStatus.INFO,"Screenshot-> "+test.addScreenCapture(System.getProperty("user.dir")+"//screenshots//"+screenshotFile));
}
As i can call this method---takeScreenShot() with the step so i am using
test.log(LogStatus.INFO,"Screenshot-> "+test.addScreenCapture(System.getProperty("user.dir")+"//screenshots//"+screenshotFile));
if i am wrong pls correct where i need to update the code
Thanks
deepak