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:[EMAIL PROTECTED]">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 [EMAIL PROTECTED] 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 [EMAIL PROTECTED] 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: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]