Thread Group
-- Sampler
-- BeanShell Listener
import java.net.*; import javax.xml.parsers.DocumentBuilder; import javax.xml.parsers.DocumentBuilderFactory; import javax.xml.xpath.*; import org.xml.sax.InputSource; import java.io.ByteArrayInputStream; import java.io.InputStream; // получение параметров has_host = vars.get ("has_host"); <skip> // SLEEP 5 sec // Thread.sleep(5000); //Запрос по http try { URL url = new URL("http://"+has_host+":"+has_port+"/"+uri); URLConnection conn = url.openConnection (); String result = null; // Construct data StringBuffer data = new StringBuffer(); BufferedReader rd = new BufferedReader(new InputStreamReader(conn.getInputStream())); StringBuffer sb = new StringBuffer(); String line; while ((line = rd.readLine()) != null) { sb.append(line); } rd.close(); result = sb.toString(); <skip> // Парсинг ответа XPath xpath = XPathFactory.newInstance().newXPath(); InputStream is = new ByteArrayInputStream(result.getBytes()); InputSource inputSource = new InputSource(is); String DATETIME = xpath.evaluate( "//tram-pam-pam/TIMESTAMP", inputSource); <skip> // Запись в файл FileWriter fw = new FileWriter(admin_server_status_log, true); BufferedWriter bw = new BufferedWriter(fw); PrintWriter pw = new PrintWriter(bw); pw.println(DATETIME+";"); <skip> pw.close(); } catch (Exception e) { <skip> }
Данный Listener необходимо запускать раз в 5 секунд.
Кто-нибудь знает, можно ли поставить на паузу конкретный тред Listener?
Если выставить Thread.sleep(5000), то на паузу ставится и тред, который отвечает за выполнения других запросов (Sampler) в группе, а они должны выполняться непрерывно.
Можно ли решить данную задачу в рамках BeanShell или уже пора писать плагин для Jmeter?