8
votes

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?

3

3 Answers

7
votes

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.

6
votes

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.

3
votes

Dirty workaround? Print the captcha value in alt image for the tests. And then you can retrieve the value and go on.