I have a problem on taking the snapshot of html document running on different browsers.
I want to take snapshots of the web page running in different browser (Chrome,Fire Fox,ie etc) for browser comp ability test but i am getting the problem with html document loading time and here is my code,
private void button1_Click(object sender, EventArgs e)
{
//Process p = new Process();
// p.StartInfo = new ProcessStartInfo();
foreach (string key in ConfigurationManager.AppSettings.Keys)
{
Process p = new Process();
p.StartInfo = new ProcessStartInfo();
p.StartInfo.FileName = ConfigurationManager.AppSettings[key];
p.StartInfo.Arguments = @"www.google.com";
p.StartInfo.WindowStyle = ProcessWindowStyle.Maximized;
p.Start();
p.PriorityClass = ProcessPriorityClass.High;
System.Threading.Thread.Sleep(30000);
Rectangle bounds = Screen.GetBounds(Point.Empty);
using (Bitmap bitmap = new Bitmap(bounds.Width, bounds.Height))
{
using (Graphics g = Graphics.FromImage(bitmap))
{
g.CopyFromScreen(Point.Empty, Point.Empty, bounds.Size);
}
bitmap.Save("E:\\ChandraPrakash\\My Testings\\Screen Grab\\Images\\screen_shot" + key + ".jpg", ImageFormat.Jpeg);
}
this.WindowState = FormWindowState.Normal;
this.BringToFront();
this.Focus();
//p.Kill();
}
}
and my app.config code is ,
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<appSettings>
<add key="Chrome" value="C:\Documents and Settings\uba\Local Settings\Application Data\Google\Chrome\Application\chrome.exe"/>
<add key="Firefox" value="C:\Program Files\Mozilla Firefox\firefox.exe"/>
<add key="Safari" value="C:\Program Files\Safari\Safari.exe"/>
<add key="Ie" value="C:\Program Files\Internet Explorer\IEXPLORE.EXE"/>
<add key="Opera" value="C:\Program Files\Opera\opera.exe"/>
</appSettings>
</configuration>
Here i am using System.Threading.Thread.Sleep(10000); but it doesn’t work if page is loaded slowly so,how can i know the page loading time? Is there another way to take screen shot of a Html document in different Browser?
Thanks in advance.
Thank you Michael and Chad.I am not able to find out the way to communicate with web browsers from win application,so i am finally using Selenium-RC to take the screen shot of a web page
in my project and here is the documentation url :http://seleniumhq.org/docs/05_selenium_rc.html