Monday, July 18, 2016

How to generate html report from jmeter output? ie., JTL -> HTML


How to generate html report from jmeter output? ie., JTL -> HTML


Steps
1) Find and replace the special characters in the jtl file.

Making use of vim find and replace commands will replace all special characters like &#xw;, &#xww;, &#xwww;, &#xwwww; and &#x12123 with empty space. This step have to be done because xsltproc will not work if these characters present.

vim -c ":%s/&#x\w;//g" -c ":wq" log.jtl
vim -c ":%s/&#x\w\w;//g" -c ":wq" log.jtl
vim -c ":%s/&#x\w\w\w;//g" -c ":wq" log.jtl
vim -c ":%s/&#x\w\w\w\w;//g" -c ":wq" log.jtl
vim -c ":%s/&#x0//g" -c ":wq" log.jtl
vim -c ":%s/&#x\d+//g" -c ":wq" log.jtl

2) Execute xsltproc command using the attached style sheet Jmeter-Results-Details.xsl.

xsltproc Jmeter-Results-Details.xsl log.jtl  > output/result.html

Here log.jtl is the jmeter result file. The result.html is the converted html file we want.

Note:

A) The steps are for linux machine. If you have a windows machine the utility xsltproc can be installed separately and find and replace can be done using any document editing software.

B) Style sheet used - XSLT Style Sheet for JTL to HTML

Monday, January 16, 2012

How to start chrome browser using selenium webdriver?

For starting the chrome browser follow the instructions here - http://code.google.com/p/selenium/wiki/ChromeDriver

If you find it is difficult then dont worry just download the appropriate driver associated with your OS and then use the following code -

System.setProperty("webdriver.chrome.driver","path/to/chromedriver.exe");

It is the path to your downloaded chromedriver.exe

If you have a certificate warning for your product which uses https then use the following code -

       System.setProperty("webdriver.chrome.driver","path/to/chromedriver.exe");
        DesiredCapabilities dc = DesiredCapabilities.chrome();
        String[] options = { "--ignore-certificate-errors" };
        dc.setCapability("chrome.switches", Arrays.asList(options));
        return new ChromeDriver(dc);

Internet explorer is not starting using selenium webdriver. Message : Protected Mode must be set to the same value

If internet explorer is not starting using selenium webdriver and shows the error message says that "Unexpected error launching Internet Explorer. Protected Mode must be set to the same value (enabled or disabled) for all zones. "

Create a desired capabilities instance and use it while creating the internet explorer driver. This is what the configuration done for this error as per the docs in selenium wiki. selenium help wiki link - http://code.google.com/p/selenium/wiki/InternetExplorerDriver
Required Configuration

    On IE 7 or higher on Windows Vista or Windows 7, you must set the Protected Mode settings for each zone to be the same value. The value can be on or off, as long as it is the same for every zone. To set the Protected Mode settings, choose "Internet Options..." from the Tools menu, and click on the Security tab. For each zone, there will be a check box at the bottom of the tab labeled "Enable Protected Mode".
    The browser zoom level must be set to 100% so that the native mouse events can be set to the correct coordinates.

Even if it does not start the browser, create a desired capabilities instance and set ingnore flakiness boolean to true. Here is the code for code for ignoring the the protected mode security for all zones.
   
    DesiredCapabilities capabilities = DesiredCapabilities.internetExplorer();
 capabilities.setCapability(InternetExplorerDriver.INTRODUCE_FLAKINESS_BY_IGNORING_SECURITY_DOMAINS, true);
        WebDriver driver = new InternetExplorerDriver(capabilities);

Thursday, May 19, 2011

How to download java sources using ant?

How to download java sources using ant?

It is very easy to download the source files using ant. For that you have to add a target which logins to the cvs using the cvspass tag. First set the property cvs.root to the actual cvs root. You can get this value in "Root" file under CVS folder in the source directories.

Step 1:

        <property name="cvs.root"   value=":pserver:anonymous@product-server:/url/of/the/product" />


Now add a target which logins to the cvs -

Step 2 :

<target name="cvslogin" description="Log in to CVS">
                <echo message="Setting Password for : ${cvs.root}" />
                <cvspass cvsRoot="${cvs.root}" password="anon"/>
</target>


The cvspass tag will look into the file ".cvspass" by default in windows xp it will look at "C:\Documents and Settings\jerald\.cvspass".

Step 4:

Check the .cvspass file for the cvs.root value ie., ":pserver:anonymous@product-server:/url/of/the/product" is present. If not open up a command prompt and login to cvs by issuing the following commands.

C:\>set cvsroot=:pserver:anonymous@product-server:/url/of/the/product

C:\>cvs login
Logging in to :pserver:anonymous@product-server:2401:/url/of/the/product
CVS Password:

Step 5:

Add another target to download the source code. You can also download the source from the same target but am separating this login target for clarity. Here is the target for downloading the source -

    <target name="downloadsource" depends="cvslogin">
                <cvs cvsRoot="${cvs.root}" package="product/package1" dest="${destinationdirectory}" />
    </target>


Possible errors:

1)  If you see any error "[cvs] Empty password used - try 'cvs login' with a real password" then the problem is there is no entry in ".cvspass" file. Do the step 4 and check the entry is added in the ".cvspass" file. Also do remember the ".cvspass" file is created when "cvs login" is invoked for the first time. If there is a change in cvsroot then a new line is added in that file. It is stored in this file for later access to the repository.

2)  If you see " cvs checkout: warning: unrecognized response `'ssh' is not recognized as an internal or external command,....." then check the correctness of cvs root string. Ie., ":pserver:anonymous@product-server:/url/of/the/product" some times you may miss the ":" or spelling mistakes. 

Sunday, October 17, 2010

How to delete a line which contain matching text line using vim?

I have already added a blog post with a tip for deleting all the matching lines for a matching patern. But this is some thing similar still it is easy after you seached for a text. ie., first search the pattern by "/" and the execute the command -
:g//d
This will delete all the lines with matching patterns. Tested in linux and also in windows.

Sunday, October 3, 2010

How to find number of matches in gvim

It is a easy tip to find the number of matching for the given pattern. Just search and replace it with any thing and see the success message given by vim. It will say "42 substitutions on 21 lines". And now undo changes. Thats it.

Sunday, September 19, 2010

How to find and replace with a new line character in windows gvim?

How to find and replace with a new line character in windows gvim?

It is very easy to find and replace with a new line in windows gvim.  In linux EOL ie., "End Of Line"

character will be "\n" but in windows it is "\r\n".   "\r" character is called as carriage return. Just visualize

old type writer machine carriage return. Now when it comes to find and replace with a new line using

windows is by the following steps,

1)Go to command mode by pressing "Esc" key.
2)Find and replace with a carriage return instead of a new line character. ie.,

:s/SearchText/\r/gc


For linux users, find and replace with a new line. ie.,

:s/SearchText/\n/gc