We are trying to build a jmeter testcase which does the following:
- login to a system
- obtain some information and check whether correct.
Where we are facing issues is because there is a captcha while logging into the system. What we had planned to do was to download the captcha link and display, and wait for user to type in the value. Once done, everything goes as usual.
We couldnt find any plugin that can do the same? Other than writing our own plugin, is there any option here?
Since CAPTHA used to detect non-humans, JMeter will always fail it.
You have to make a workaround in your software: either disable captcha requesting or print somewhere on page correct captcha. Of course, only for JMeter tests.
I was able to solve it myself. The solution is as follows:
- Create a Beanshell Sampler
In it, the following code displays the captcha and waits for user input
filenameOrURL = new URL("${captchaimage}");
image = Toolkit.getDefaultToolkit().getImage(filenameOrURL);
Icon icon = new javax.swing.ImageIcon(image);
JOptionPane pane = new JOptionPane("Enter Captcha", 0, 0, null);
String captcha = pane.showInputDialog(null, "Captcha", "Captcha", 0, icon, null, null);
Then we can use the captcha variable in any way we want. Thank you everyone who tried to help.
Dirty workaround? Print the captcha value in alt image for the tests. And then you can retrieve the value and go on.