When you run the jmeter and if you see the error - Class: JSONObject not found in namespace
This mean that you dont have the class in jmeter lib you mentioned in the BeanShell script. To fix this copy the jar needed and paste it under lib folder in jmeter and restart it.
Download json jar from here - https://github.com/stleary/JSON-java
Software automation and me
I was in software industry since 2007. In this blog i am writing some tips i know from my personal experience for people who are in this software profession.
Friday, January 25, 2019
Thursday, January 24, 2019
How to get response data using BeanShell post possessor
In the BeanShell post possessor the script section has the following -
ctx, vars, props, prev, data and log.
In the above, the data is byte array of the parent sampler. So we can use string class from java to construct a string from the byte array like this -
If you want to parse json from the above string you can use the following -
ctx, vars, props, prev, data and log.
In the above, the data is byte array of the parent sampler. So we can use string class from java to construct a string from the byte array like this -
String myResponseData = new String(data);
If you want to parse json from the above string you can use the following -
JSONObject jsonObj = new JSONObject(myResponseData);
Wednesday, January 16, 2019
Curl https error
When curl says https error just change the single quote to double quote it will work.
For example -
This is windows default installed libcurl.
For example -
This is windows default installed libcurl.
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 𒄣 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/�//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 -
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 -
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
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);
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 :
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.
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.
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>
<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:
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.
Subscribe to:
Posts (Atom)