Tuesday, 31 January 2012


Hello All, it’s giving me intense pleaser to share that now I have started one more blog. That is http://seleniumdotnet.blogspot.com./

In this blog I’m going to share my learning about selenium web driver in .net using C#.

If you have any issues related to selenium dot net then feel free to visit this blog and feel free to provide your valuable comments and suggestion. Thanks!!

One glimpse of the blog:


Md. Jawed

Tuesday, 24 January 2012

Let's customize Google to show previous searchs by Hitesh Sharma

while going through code project website i show one article published by Hitesh sharma.
which catches my eyes with his nice idea and explanation of the article.
here is little introduction:

Usually when I Google something there are a good amount of chances that I'll be googling the same thing again after a few days to recollect whatever I learned last time. So I run Internet Explorer and look into the history if I feel like hitting the search button again with the same keywords as I used last time to get the results I am looking for. This works great but one day I just wondered that why doesn't google shows recently searched text on its page, if it does so it will provide Googlers much ease. Certainly since I can't approach Google with the idea so I decided to customize google for my machine so that it may show me whatever I looked for last few times

you can visit this link to get the more details about the artile.

Let's customize Google to show previous searchs

Sunday, 22 January 2012

Google Automation-Automated Testing Search Engine

While I was reading Sep 2011 issue of Automated Software Testing Magazine, but at one page my eye got stuck, where the publisher has partnered with Google to create a software test automation search engine. I tried this and its work great it means gave my all search related to automation.
So here is the word complied for the same magazine.

“The Automated Testing Institute has partnered with Google to create a software test automation search engine. If your are looking for the software test automation information, you will get the best results by using this search engine, because it only searches the sites that matter most to automators. You can also restrict searches to blogs and forum sites."

Enjoy happy automation.
Md. jawed

Monday, 16 January 2012

Script to Get Microsoft Product Installed on your machine with version Number

Few days back I was working on build machine. Or you can say I need to release new build machine installed with some specific software.

To achieve this I wrote few bat file to installed particular software silently.

But to verify this whether that software or application has been installed or not I need to check this through control panel. It was kind of manual process.

So avoid this manual process I came across bat file or VBscript file which will list out the entire Microsoft product with version number installed on that particular machine.

First I will show you the bat file to write the entire product with version list in test file:

echo CompanyName SoftwareInstalled VersionNumber>ListOfMicroSoftware.txt

echo ===========================================>>ListOfMicroSoftware.txt
cscript //nologo D:\Install-Jawed\GetListOfSoft.vbs >>ListOfMicroSoftware.txt
Now here is the logic written in VBscript file.
On Error Resume Next

Const strComputer = "."
Const HKLM = &H80000002
Const strKeyPath = "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall"
Dim oReg, arrSubKeys, strProduct, strDisplayName, strVersion
Set oReg = GetObject("winmgmts:{impersonationLevel=impersonate}!\\" & _
strComputer & "\root\default:StdRegProv")
' Enumerate the subkeys of the Uninstall key
oReg.EnumKey HKLM, strKeyPath, arrSubKeys
For Each strProduct In arrSubKeys
' Get the product's display name
oReg.GetStringValue HKLM, strKeyPath & "\" & strProduct, "DisplayName", strDisplayName
' Process only products whose name contain 'Microsoft'
If InStr(1, strDisplayName, "Microsoft", vbTextCompare) > 0 Then
' Get the product's display version
oReg.GetStringValue HKLM, strKeyPath & "\" & strProduct, "DisplayVersion", strVersion
WScript.Echo strDisplayName &"======"& vbTab &"===========================================" & strVersion
End If

Click on bat file and it will generate the text file with all products with version number.

Md. jawed

Thursday, 12 January 2012

Enable Sound when Breakpoint is hit in Visual Studio 2010

It is really interesting and funny to let Visual studio make sound or give some signal that it hit break point.

So here is the tips to do the same. I have done this in windows 7 machine. Might be for other OS setting would be different.

First look at the below snap shot.

1. Go to Control Panel.
2. Click on Hardware and Sound. A different window appears.
3. On new popup window click on Change System sounds. A different pop window would appear, refer above snap shot.
4. Select sound tab and scroll down to Microsoft Visual Studio.
5. Select Break point Hit.
6. Now select your desired sound from Sounds drop down menu.
7. Click on Apply and then ok.

Now you are ready to hear the Hit sound, whenever visual studio would hit the breakpoint.

Happy Debugging.


Md. Jawed


Wednesday, 11 January 2012

Deploy your web application other than default Web Site virtual directory using wix template

The below wix template would create a MSI to deploy your application under different virtual directory. It means it would not create your directory under Default Web Site.

So here is the price of code to do the same.

To know more about Wix you can Google it and you will loads of information of various sites.

Let me know your feedback or for any questions.

HTTP Status Code returns by IIS

Below is the detail of all HTTO status code which return by IIS and this code indicates the status of the response.

I complied this information from http://support.microsoft.com/kb/943891 for more details you can visit above link.
Images taken from http://www.tutorialchip.com/wp-content/uploads/2010/12/HTTP-Status-Code-List.gif

The HTTP status codes

1xx - Informational

These HTTP status codes indicate a provisional response. The client computer receives one or more 1xx responses before the client computer receives a regular response.

IIS 7.0 uses the following informational HTTP status codes:

• 100 - Continue.
• 101 - Switching protocols.

2xx - Success

These HTTP status codes indicate that the server successfully accepted the request.

IIS 7.0 uses the following success HTTP status codes:

200 - OK. The client request has succeeded.
• 201 - Created.
• 202 - Accepted.
• 203 - Nonauthoritative information.
• 204 - No content.
• 205 - Reset content.
• 206 - Partial content.

3xx - Redirection

These HTTP status codes indicate that the client browser must take more action to fulfill the request. For example, the client browser may have to request a different page on the server. Or, the client browser may have to repeat the request by using a proxy server.

IIS 7.0 uses the following redirection HTTP status codes:

• 301 - Moved permanently.
• 302 - Object moved.
• 304 - Not modified.
• 307 - Temporary redirect.

4xx - Client error

These HTTP status codes indicate that an error occurred and that the client browser appears to be at fault. For example, the client browser may have requested a page that does not exist. Or, the client browser may not have provided valid authentication information.

IIS 7.0 uses the following client error HTTP status codes:

• 400 - Bad request. The request could not be understood by the server due to malformed syntax. The client should not repeat the request without modifications.

IIS 7.0 defines the following HTTP status codes that indicate a more specific cause of a 400 error:

o 400.1 - Invalid Destination Header.
o 400.2 - Invalid Depth Header.
o 400.3 - Invalid If Header.
o 400.4 - Invalid Overwrite Header.
o 400.5 - Invalid Translate Header.
o 400.6 - Invalid Request Body.
o 400.7 - Invalid Content Length.
o 400.8 - Invalid Timeout.
o 400.9 - Invalid Lock Token.
• 401 - Access denied.

IIS 7.0 defines several HTTP status codes that indicate a more specific cause of a 401 error. The following specific HTTP status codes are displayed in the client browser but are not displayed in the IIS log:

o 401.1 - Logon failed.
o 401.2 - Logon failed due to server configuration.
o 401.3 - Unauthorized due to ACL on resource.
o 401.4 - Authorization failed by filter.
o 401.5 - Authorization failed by ISAPI/CGI application.
• 403 - Forbidden.

IIS 7.0 defines the following HTTP status codes that indicate a more specific cause of a 403 error:

o 403.1 - Execute access forbidden.
o 403.2 - Read access forbidden.
o 403.3 - Write access forbidden.
o 403.4 - SSL required.
o 403.5 - SSL 128 required.
o 403.6 - IP address rejected.
o 403.7 - Client certificate required.
o 403.8 - Site access denied.
o 403.9 - Forbidden: Too many clients are trying to connect to the Web server.
o 403.10 - Forbidden: Web server is configured to deny Execute access.
o 403.11 - Forbidden: Password has been changed.
o 403.12 - Mapper denied access.
o 403.13 - Client certificate revoked.
o 403.14 - Directory listing denied.
o 403.15 - Forbidden: Client access licenses have exceeded limits on the Web server.
o 403.16 - Client certificate is untrusted or invalid.
o 403.17 - Client certificate has expired or is not yet valid.
o 403.18 - Cannot execute requested URL in the current application pool.
o 403.19 - Cannot execute CGI applications for the client in this application pool.
o 403.20 - Forbidden: Passport logon failed.
o 403.21 - Forbidden: Source access denied.
o 403.22 - Forbidden: Infinite depth is denied.
o 403.502 - Forbidden: Too many requests from the same client IP; Dynamic IP Restriction limit reached.
• 404 - Not found.

IIS 7.0 defines the following HTTP status codes that indicate a more specific cause of a 404 error:

o 404.0 - Not found.
o 404.1 - Site Not Found.
o 404.2 - ISAPI or CGI restriction.
o 404.3 - MIME type restriction.
o 404.4 - No handler configured.
o 404.5 - Denied by request filtering configuration.
o 404.6 - Verb denied.
o 404.7 - File extension denied.
o 404.8 - Hidden namespace.
o 404.9 - File attribute hidden.
o 404.10 - Request header too long.
o 404.11 - Request contains double escape sequence.
o 404.12 - Request contains high-bit characters.
o 404.13 - Content length too large.
o 404.14 - Request URL too long.
o 404.15 - Query string too long.
o 404.16 - DAV request sent to the static file handler.
o 404.17 - Dynamic content mapped to the static file handler via a wildcard MIME mapping.
o 404.18 - Querystring sequence denied.
o 404.19 - Denied by filtering rule.
o 404.20 - Too Many URL Segments
• 405 - Method Not Allowed.
• 406 - Client browser does not accept the MIME type of the requested page.
• 408 - Request timed out.
• 412 - Precondition failed.

5xx - Server error

These HTTP status codes indicate that the server cannot complete the request because the server encounters an error.

IIS 7.0 uses the following server error HTTP status codes:

• 500 - Internal server error.

IIS 7.0 defines the following HTTP status codes that indicate a more specific cause of a 500 error:

o 500.0 - Module or ISAPI error occurred.
o 500.11 - Application is shutting down on the Web server.
o 500.12 - Application is busy restarting on the Web server.
o 500.13 - Web server is too busy.
o 500.15 - Direct requests for Global.asax are not allowed.
o 500.19 - Configuration data is invalid.
o 500.21 - Module not recognized.
o 500.22 - An ASP.NET httpModules configuration does not apply in Managed Pipeline mode.
o 500.23 - An ASP.NET httpHandlers configuration does not apply in Managed Pipeline mode.
o 500.24 - An ASP.NET impersonation configuration does not apply in Managed Pipeline mode.
o 500.50 - A rewrite error occurred during RQ_BEGIN_REQUEST notification handling. A configurationr inbound rule execution error occurred.

Note Here is where the distributed rules configuration is read for both inbound and outbound rules.

o 500.51 - A rewrite error occurred during GL_PRE_BEGIN_REQUEST notification handling. A global configuration or global rule execution error occurred.
Note Here is where the global rules configuration is read.
o 500.52 - A rewrite error occurred during RQ_SEND_RESPONSE notification handling. An outbound rule execution occurred.
o 500.53 - A rewrite error occurred during RQ_RELEASE_REQUEST_STATE notification handling. An outbound rule execution error occurred. The rule is configured to be executed before the output user cache gets updated.
o 500.100 - Internal ASP error.
• 501 - Header values specify a configuration that is not implemented.
• 502 - Web server received an invalid response while acting as a gateway or proxy.

IIS 7.0 defines the following HTTP status codes that indicate a more specific cause of a 502 error:

o 502.1 - CGI application timeout.
o 502.2 - Bad gateway.
• 503 - Service unavailable.

IIS 7.0 defines the following HTTP status codes that indicate a more specific cause of a 503 error:

o 503.0 - Application pool unavailable.
o 503.2 - Concurrent request limit exceeded.

More information you can visit below site:


Md. jawed

Copy files from source directory to target directory using Xcopy in C#.

If you are interested to copy files and folder to target location using Xcopy then just use the below piece of code to perform you desired operation.
private static void ProcessXcopy(string SolutionDirectory, string TargetDirectory)

     // Use ProcessStartInfo class
    ProcessStartInfo startInfo = new ProcessStartInfo();
    startInfo.CreateNoWindow = false;
    startInfo.UseShellExecute = false;
    startInfo.FileName = "xcopy";
    startInfo.WindowStyle = ProcessWindowStyle.Hidden;
    startInfo.Arguments = "\"" + SolutionDirectory + "\"" + " " + "\"" + TargetDirectory + "\"" +          
                                                                                                                                      @" /e /y /I";
         using (Process exeProcess = Process.Start(startInfo))
catch (Exception exp)
         throw exp;

Md. jawed

Get Assembly Version

Below code would help you get the Assembly version.
This code also stamp the build version in a file where you want to write the build version.
The build version is nothing but versioning provided after building the Project from tfs.
so here the code:

/// This method will get the version
/// return version of version as string
private static string GetVersion()
Assembly assembly = Assembly.GetExecutingAssembly();
FileVersionInfo fileVersionInfo = FileVersionInfo.GetVersionInfo(assembly.Location);
return fileVersionInfo.ProductVersion;

Md. jawed