You are viewing a plain text version of this content. The canonical link for it is here.
Posted to jmeter-dev@jakarta.apache.org by se...@apache.org on 2008/10/10 18:03:40 UTC
svn commit: r703510 - in
/jakarta/jmeter/trunk/src/components/org/apache/jmeter/assertions:
DurationAssertion.java ResponseAssertion.java SizeAssertion.java
gui/AssertionGui.java gui/DurationAssertionGui.java gui/SizeAssertionGui.java
Author: sebb
Date: Fri Oct 10 09:03:40 2008
New Revision: 703510
URL: http://svn.apache.org/viewvc?rev=703510&view=rev
Log:
Bug 45903 - allow Assertions to apply to sub-samples
Implemented for Duration, Response and Size
Modified:
jakarta/jmeter/trunk/src/components/org/apache/jmeter/assertions/DurationAssertion.java
jakarta/jmeter/trunk/src/components/org/apache/jmeter/assertions/ResponseAssertion.java
jakarta/jmeter/trunk/src/components/org/apache/jmeter/assertions/SizeAssertion.java
jakarta/jmeter/trunk/src/components/org/apache/jmeter/assertions/gui/AssertionGui.java
jakarta/jmeter/trunk/src/components/org/apache/jmeter/assertions/gui/DurationAssertionGui.java
jakarta/jmeter/trunk/src/components/org/apache/jmeter/assertions/gui/SizeAssertionGui.java
Modified: jakarta/jmeter/trunk/src/components/org/apache/jmeter/assertions/DurationAssertion.java
URL: http://svn.apache.org/viewvc/jakarta/jmeter/trunk/src/components/org/apache/jmeter/assertions/DurationAssertion.java?rev=703510&r1=703509&r2=703510&view=diff
==============================================================================
--- jakarta/jmeter/trunk/src/components/org/apache/jmeter/assertions/DurationAssertion.java (original)
+++ jakarta/jmeter/trunk/src/components/org/apache/jmeter/assertions/DurationAssertion.java Fri Oct 10 09:03:40 2008
@@ -22,17 +22,15 @@
import java.text.MessageFormat;
import org.apache.jmeter.samplers.SampleResult;
-import org.apache.jmeter.testelement.AbstractTestElement;
+import org.apache.jmeter.testelement.AbstractScopedAssertion;
import org.apache.jmeter.util.JMeterUtils;
/**
* Checks if an Sample is sampled within a specified time-frame. If the duration
* is larger than the timeframe the Assertion is considered a failure.
*
- * author <a href="mailto:wolfram.rittmeyer@web.de">Wolfram Rittmeyer</a>
- * @version $Revision$, $Date$
*/
-public class DurationAssertion extends AbstractTestElement implements Serializable, Assertion {
+public class DurationAssertion extends AbstractScopedAssertion implements Serializable, Assertion {
/** Key for storing assertion-informations in the jmx-file. */
public static final String DURATION_KEY = "DurationAssertion.duration"; // $NON-NLS-1$
Modified: jakarta/jmeter/trunk/src/components/org/apache/jmeter/assertions/ResponseAssertion.java
URL: http://svn.apache.org/viewvc/jakarta/jmeter/trunk/src/components/org/apache/jmeter/assertions/ResponseAssertion.java?rev=703510&r1=703509&r2=703510&view=diff
==============================================================================
--- jakarta/jmeter/trunk/src/components/org/apache/jmeter/assertions/ResponseAssertion.java (original)
+++ jakarta/jmeter/trunk/src/components/org/apache/jmeter/assertions/ResponseAssertion.java Fri Oct 10 09:03:40 2008
@@ -23,7 +23,7 @@
import java.util.ArrayList;
import org.apache.jmeter.samplers.SampleResult;
-import org.apache.jmeter.testelement.AbstractTestElement;
+import org.apache.jmeter.testelement.AbstractScopedAssertion;
import org.apache.jmeter.testelement.property.CollectionProperty;
import org.apache.jmeter.testelement.property.IntegerProperty;
import org.apache.jmeter.testelement.property.JMeterProperty;
@@ -43,7 +43,7 @@
/**
* Test element to handle Response Assertions, @see AssertionGui
*/
-public class ResponseAssertion extends AbstractTestElement implements Serializable, Assertion {
+public class ResponseAssertion extends AbstractScopedAssertion implements Serializable, Assertion {
private static final Logger log = LoggingManager.getLoggerForClass();
private final static String TEST_FIELD = "Assertion.test_field"; // $NON-NLS-1$
Modified: jakarta/jmeter/trunk/src/components/org/apache/jmeter/assertions/SizeAssertion.java
URL: http://svn.apache.org/viewvc/jakarta/jmeter/trunk/src/components/org/apache/jmeter/assertions/SizeAssertion.java?rev=703510&r1=703509&r2=703510&view=diff
==============================================================================
--- jakarta/jmeter/trunk/src/components/org/apache/jmeter/assertions/SizeAssertion.java (original)
+++ jakarta/jmeter/trunk/src/components/org/apache/jmeter/assertions/SizeAssertion.java Fri Oct 10 09:03:40 2008
@@ -22,7 +22,7 @@
import java.text.MessageFormat;
import org.apache.jmeter.samplers.SampleResult;
-import org.apache.jmeter.testelement.AbstractTestElement;
+import org.apache.jmeter.testelement.AbstractScopedAssertion;
import org.apache.jmeter.testelement.property.IntegerProperty;
import org.apache.jmeter.testelement.property.LongProperty;
import org.apache.jmeter.util.JMeterUtils;
@@ -33,7 +33,7 @@
* Checks if the results of a Sample matches a particular size.
*
*/
-public class SizeAssertion extends AbstractTestElement implements Serializable, Assertion {
+public class SizeAssertion extends AbstractScopedAssertion implements Serializable, Assertion {
private static final long serialVersionUID = 233L;
Modified: jakarta/jmeter/trunk/src/components/org/apache/jmeter/assertions/gui/AssertionGui.java
URL: http://svn.apache.org/viewvc/jakarta/jmeter/trunk/src/components/org/apache/jmeter/assertions/gui/AssertionGui.java?rev=703510&r1=703509&r2=703510&view=diff
==============================================================================
--- jakarta/jmeter/trunk/src/components/org/apache/jmeter/assertions/gui/AssertionGui.java (original)
+++ jakarta/jmeter/trunk/src/components/org/apache/jmeter/assertions/gui/AssertionGui.java Fri Oct 10 09:03:40 2008
@@ -134,6 +134,8 @@
if (el instanceof ResponseAssertion) {
ResponseAssertion ra = (ResponseAssertion) el;
+ saveScopeSettings(ra);
+
ra.clearTestStrings();
String[] testStrings = tableModel.getData().getColumn(COL_NAME);
for (int i = 0; i < testStrings.length; i++) {
@@ -204,6 +206,8 @@
super.configure(el);
ResponseAssertion model = (ResponseAssertion) el;
+ showScopeSettings(model);
+
if (model.isContainsType()) {
containsBox.setSelected(true);
} else if (model.isEqualsType()) {
@@ -255,6 +259,7 @@
setBorder(makeBorder());
box.add(makeTitlePanel());
+ box.add(createScopePanel());
box.add(createFieldPanel());
box.add(createTypePanel());
add(box, BorderLayout.NORTH);
Modified: jakarta/jmeter/trunk/src/components/org/apache/jmeter/assertions/gui/DurationAssertionGui.java
URL: http://svn.apache.org/viewvc/jakarta/jmeter/trunk/src/components/org/apache/jmeter/assertions/gui/DurationAssertionGui.java?rev=703510&r1=703509&r2=703510&view=diff
==============================================================================
--- jakarta/jmeter/trunk/src/components/org/apache/jmeter/assertions/gui/DurationAssertionGui.java (original)
+++ jakarta/jmeter/trunk/src/components/org/apache/jmeter/assertions/gui/DurationAssertionGui.java Fri Oct 10 09:03:40 2008
@@ -30,6 +30,9 @@
import org.apache.jmeter.testelement.TestElement;
import org.apache.jmeter.util.JMeterUtils;
+/**
+ * GUI for {@link DurationAssertion}
+ */
public class DurationAssertionGui extends AbstractAssertionGui {
private JTextField duration;
@@ -59,7 +62,11 @@
*/
public void modifyTestElement(TestElement el) {
configureTestElement(el);
- el.setProperty(DurationAssertion.DURATION_KEY,duration.getText());
+ if (el instanceof DurationAssertion) {
+ DurationAssertion assertion = (DurationAssertion) el;
+ assertion.setProperty(DurationAssertion.DURATION_KEY,duration.getText());
+ saveScopeSettings(assertion);
+ }
}
/**
@@ -73,7 +80,11 @@
public void configure(TestElement el) {
super.configure(el);
- duration.setText(el.getPropertyAsString(DurationAssertion.DURATION_KEY));
+ if (el instanceof DurationAssertion){
+ DurationAssertion da = (DurationAssertion) el;
+ duration.setText(da.getPropertyAsString(DurationAssertion.DURATION_KEY));
+ showScopeSettings(da);
+ }
}
private void init() {
@@ -82,7 +93,8 @@
add(makeTitlePanel(), BorderLayout.NORTH);
- JPanel mainPanel = new JPanel(new BorderLayout());
+ JPanel mainPanel = new VerticalPanel();
+ mainPanel.add(createScopePanel());
// USER_INPUT
VerticalPanel durationPanel = new VerticalPanel();
@@ -99,7 +111,7 @@
durationLabel.setLabelFor(duration);
durationPanel.add(labelPanel);
- mainPanel.add(durationPanel, BorderLayout.NORTH);
+ mainPanel.add(durationPanel);
add(mainPanel, BorderLayout.CENTER);
}
}
Modified: jakarta/jmeter/trunk/src/components/org/apache/jmeter/assertions/gui/SizeAssertionGui.java
URL: http://svn.apache.org/viewvc/jakarta/jmeter/trunk/src/components/org/apache/jmeter/assertions/gui/SizeAssertionGui.java?rev=703510&r1=703509&r2=703510&view=diff
==============================================================================
--- jakarta/jmeter/trunk/src/components/org/apache/jmeter/assertions/gui/SizeAssertionGui.java (original)
+++ jakarta/jmeter/trunk/src/components/org/apache/jmeter/assertions/gui/SizeAssertionGui.java Fri Oct 10 09:03:40 2008
@@ -37,6 +37,9 @@
import org.apache.jmeter.util.JMeterUtils;
import org.apache.jorphan.gui.layout.VerticalLayout;
+/**
+ * GUI for {@link SizeAssertion}
+ */
public class SizeAssertionGui extends AbstractAssertionGui implements FocusListener, ActionListener {
private JTextField size;
@@ -54,10 +57,6 @@
return "size_assertion_title"; //$NON-NLS-1$
}
- public String getSizeAttributesTitle() {
- return JMeterUtils.getResString("size_assertion_size_test"); //$NON-NLS-1$
- }
-
public TestElement createTestElement() {
SizeAssertion el = new SizeAssertion();
modifyTestElement(el);
@@ -78,8 +77,10 @@
} catch (NumberFormatException e) {
assertionSize = Long.MAX_VALUE;
}
- ((SizeAssertion) el).setAllowedSize(assertionSize);
- ((SizeAssertion) el).setCompOper(getState());
+ SizeAssertion assertion = (SizeAssertion) el;
+ assertion.setAllowedSize(assertionSize);
+ assertion.setCompOper(getState());
+ saveScopeSettings(assertion);
}
/**
@@ -103,6 +104,7 @@
SizeAssertion assertion = (SizeAssertion) el;
size.setText(String.valueOf(assertion.getAllowedSize()));
setState(assertion.getCompOper());
+ showScopeSettings(assertion);
}
/**
@@ -143,10 +145,12 @@
add(makeTitlePanel());
+ add(createScopePanel());
+
// USER_INPUT
JPanel sizePanel = new JPanel();
sizePanel.setBorder(BorderFactory.createTitledBorder(BorderFactory.createEtchedBorder(),
- getSizeAttributesTitle()));
+ JMeterUtils.getResString("size_assertion_size_test"))); //$NON-NLS-1$
sizePanel.add(new JLabel(JMeterUtils.getResString("size_assertion_label"))); //$NON-NLS-1$
size = new JTextField(5);
---------------------------------------------------------------------
To unsubscribe, e-mail: jmeter-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: jmeter-dev-help@jakarta.apache.org