public String assertResult( LoadTestRunner loadTestRunner, LoadTestRunContext context, TestStepResult result, TestCaseRunner testRunner, TestCaseRunContext runContext) { WsdlLoadTest loadTest = (WsdlLoadTest) loadTestRunner.getLoadTest(); LoadTestStatistics statisticsModel = loadTest.getStatisticsModel(); TestStep step = result.getTestStep(); if (targetStepMatches(step)) { int index = step.getTestCase().getIndexOfTestStep(step); long average = statisticsModel.getStatistic(index, Statistic.AVERAGE); long count = statisticsModel.getStatistic(index, Statistic.AVERAGE); if (count > minRequests && (count % sampleInterval == 0) && average >= maxAverage) { return returnErrorOrFail( "Average [" + average + "] exceeds limit [" + maxAverage + "]", maxErrors, loadTestRunner, context); } } else if (ALL_TEST_STEPS.equals(getTargetStep())) { long average = statisticsModel.getStatistic(LoadTestStatistics.TOTAL, Statistic.AVERAGE); long count = statisticsModel.getStatistic(LoadTestStatistics.TOTAL, Statistic.COUNT); if (count > minRequests && (count % sampleInterval == 0) && average >= maxAverage) { return returnErrorOrFail( "Average [" + average + "] exceeds limit [" + maxAverage + "]", maxErrors, loadTestRunner, context); } } return null; }
public JLoadTestAssertionsTable(WsdlLoadTest wsdlLoadTest) { super(new BorderLayout()); this.loadTest = wsdlLoadTest; loadTest.addLoadTestListener(internalLoadTestListener); tableModel = new LoadTestAssertionsTableModel(); table = new JXTable(tableModel); table.setSelectionMode(ListSelectionModel.SINGLE_SELECTION); TableColumnModel columnModel = table.getColumnModel(); columnModel.getColumn(0).setMaxWidth(16); columnModel.getColumn(0).setCellRenderer(new IconTableCellRenderer()); columnModel.getColumn(1).setPreferredWidth(100); columnModel.getColumn(2).setPreferredWidth(100); columnModel.getColumn(3).setPreferredWidth(200); JScrollPane scrollPane = new JScrollPane(table); add(scrollPane, BorderLayout.CENTER); table.addMouseListener( new MouseAdapter() { public void mouseClicked(MouseEvent e) { if (e.getClickCount() < 2) return; int ix = table.getSelectedRow(); if (ix == -1) return; ix = table.convertRowIndexToModel(ix); Object obj = loadTest.getAssertionAt(ix); if (obj instanceof Configurable) { ((Configurable) obj).configure(); } else Toolkit.getDefaultToolkit().beep(); } }); add(buildToolbar(), BorderLayout.NORTH); table .getSelectionModel() .addListSelectionListener( new ListSelectionListener() { public void valueChanged(ListSelectionEvent e) { int ix = table.getSelectedRow(); configureAssertionAction.setEnabled(ix >= 0); removeAssertionAction.setEnabled(ix >= 0); if (ix == -1) return; ix = table.convertRowIndexToModel(ix); configureAssertionAction.setEnabled( loadTest.getAssertionAt(ix) instanceof Configurable); } }); assertionPopup = new JPopupMenu(); assertionPopup.add(configureAssertionAction); assertionPopup.addSeparator(); assertionPopup.add(addLoadTestAssertionAction); assertionPopup.add(removeAssertionAction); setComponentPopupMenu(assertionPopup); scrollPane.setInheritsPopupMenu(true); table.setComponentPopupMenu(assertionPopup); }
public void release() { tableModel.release(); loadTest.removeLoadTestListener(internalLoadTestListener); }