New: progressive disclosure of Test Details

This commit is contained in:
boccioli_m
2015-10-19 15:28:44 +02:00
parent 4bdd066fe4
commit 07d7f7cd3e
4 changed files with 407 additions and 130 deletions

View File

@@ -72,49 +72,62 @@ public class TestingListDetails extends javax.swing.JPanel {
jLabel5 = new javax.swing.JLabel();
txtTestName = new javax.swing.JTextField();
jLabel6 = new javax.swing.JLabel();
jScrollPane1 = new javax.swing.JScrollPane();
jScrollPaneParam = new javax.swing.JScrollPane();
jTableParams = new javax.swing.JTable();
jLabel7 = new javax.swing.JLabel();
jScrollPane2 = new javax.swing.JScrollPane();
jScrollPaneRes = new javax.swing.JScrollPane();
txtTestResult = new javax.swing.JTextArea();
jLabel8 = new javax.swing.JLabel();
jScrollPane3 = new javax.swing.JScrollPane();
jScrollPaneTestDesc = new javax.swing.JScrollPane();
txtTestDescription = new javax.swing.JTextArea();
jScrollPane4 = new javax.swing.JScrollPane();
jScrollPaneHtml = new javax.swing.JScrollPane();
jEditorPaneHelp = new javax.swing.JEditorPane();
jButtonOk = new javax.swing.JButton();
txtTestResultSummary = new javax.swing.JTextField();
jButtonMoreResult = new javax.swing.JButton();
jButtonMoreTest = new javax.swing.JButton();
jLabel9 = new javax.swing.JLabel();
jLabel10 = new javax.swing.JLabel();
jLabel1.setFont(new java.awt.Font("Tahoma", 0, 14)); // NOI18N
jLabel1.setText("Device name");
jLabel1.setVisible(false);
txtDeviceName.setEditable(false);
txtDeviceName.setFont(new java.awt.Font("Tahoma", 0, 14)); // NOI18N
txtDeviceName.setText("jTextField1");
txtDeviceName.setVisible(false);
jLabel2.setFont(new java.awt.Font("Tahoma", 0, 14)); // NOI18N
jLabel2.setText("Device Description");
jLabel2.setVisible(false);
txtDeviceDescription.setEditable(false);
txtDeviceDescription.setFont(new java.awt.Font("Tahoma", 0, 14)); // NOI18N
txtDeviceDescription.setText("jTextField2");
txtDeviceDescription.setVisible(false);
jLabel4.setFont(new java.awt.Font("Tahoma", 0, 14)); // NOI18N
jLabel4.setText("Test Case/Suite");
jLabel4.setVisible(false);
txtTestSuite.setEditable(false);
txtTestSuite.setFont(new java.awt.Font("Tahoma", 0, 14)); // NOI18N
txtTestSuite.setText("jTextField2");
txtTestSuite.setVisible(false);
jLabel5.setFont(new java.awt.Font("Tahoma", 0, 14)); // NOI18N
jLabel5.setFont(new java.awt.Font("Tahoma", 1, 14)); // NOI18N
jLabel5.setText("Test Name");
txtTestName.setEditable(false);
txtTestName.setFont(new java.awt.Font("Tahoma", 0, 14)); // NOI18N
txtTestName.setText("jTextField2");
jLabel6.setFont(new java.awt.Font("Tahoma", 0, 14)); // NOI18N
jLabel6.setFont(new java.awt.Font("Tahoma", 1, 14)); // NOI18N
jLabel6.setText("Last Test Result");
jScrollPaneParam.setMinimumSize(new java.awt.Dimension(150, 100));
jTableParams.setFont(new java.awt.Font("Tahoma", 0, 14)); // NOI18N
jTableParams.setModel(new javax.swing.table.DefaultTableModel(
new Object [][] {
@@ -133,8 +146,9 @@ public class TestingListDetails extends javax.swing.JPanel {
}
});
jTableParams.setDragEnabled(true);
jTableParams.setMinimumSize(new java.awt.Dimension(180, 100));
jTableParams.setRowHeight(20);
jScrollPane1.setViewportView(jTableParams);
jScrollPaneParam.setViewportView(jTableParams);
if (jTableParams.getColumnModel().getColumnCount() > 0) {
jTableParams.getColumnModel().getColumn(0).setMinWidth(150);
jTableParams.getColumnModel().getColumn(0).setPreferredWidth(150);
@@ -143,34 +157,43 @@ public class TestingListDetails extends javax.swing.JPanel {
jTableParams.getColumnModel().getColumn(1).setMaxWidth(100);
}
jLabel7.setFont(new java.awt.Font("Tahoma", 0, 14)); // NOI18N
jLabel7.setFont(new java.awt.Font("Tahoma", 1, 14)); // NOI18N
jLabel7.setText("Test Parameters");
jScrollPane2.setFont(new java.awt.Font("Tahoma", 0, 14)); // NOI18N
jScrollPaneRes.setFont(new java.awt.Font("Tahoma", 0, 14)); // NOI18N
jScrollPaneRes.setMinimumSize(new java.awt.Dimension(150, 100));
jScrollPaneRes.setPreferredSize(new java.awt.Dimension(146, 91));
jScrollPaneRes.setVisible(false);
txtTestResult.setEditable(false);
txtTestResult.setBackground(javax.swing.UIManager.getDefaults().getColor("Button.background"));
txtTestResult.setColumns(20);
txtTestResult.setFont(new java.awt.Font("Tahoma", 0, 14)); // NOI18N
txtTestResult.setLineWrap(true);
txtTestResult.setRows(5);
jScrollPane2.setViewportView(txtTestResult);
jScrollPaneRes.setViewportView(txtTestResult);
jLabel8.setFont(new java.awt.Font("Tahoma", 0, 14)); // NOI18N
jLabel8.setText("Test Description");
jLabel8.setVisible(false);
jScrollPane3.setFont(new java.awt.Font("Tahoma", 0, 14)); // NOI18N
jScrollPaneTestDesc.setFont(new java.awt.Font("Tahoma", 0, 14)); // NOI18N
jScrollPaneTestDesc.setVisible(false);
txtTestDescription.setEditable(false);
txtTestDescription.setBackground(javax.swing.UIManager.getDefaults().getColor("Button.background"));
txtTestDescription.setColumns(20);
txtTestDescription.setFont(new java.awt.Font("Tahoma", 0, 14)); // NOI18N
txtTestDescription.setLineWrap(true);
txtTestDescription.setRows(5);
jScrollPane3.setViewportView(txtTestDescription);
jScrollPaneTestDesc.setViewportView(txtTestDescription);
jEditorPaneHelp.setContentType("text/html"); // NOI18N
jEditorPaneHelp.setFont(new java.awt.Font("Tahoma", 0, 14)); // NOI18N
jEditorPaneHelp.setDropMode(javax.swing.DropMode.INSERT);
jScrollPane4.setViewportView(jEditorPaneHelp);
jEditorPaneHelp.setMinimumSize(new java.awt.Dimension(6, 400));
jEditorPaneHelp.setPreferredSize(new java.awt.Dimension(6, 400));
jScrollPaneHtml.setViewportView(jEditorPaneHelp);
jButtonOk.setText("Save");
jButtonOk.setToolTipText("Save parameters values");
@@ -180,34 +203,77 @@ public class TestingListDetails extends javax.swing.JPanel {
}
});
txtTestResultSummary.setEditable(false);
txtTestResultSummary.setBackground(javax.swing.UIManager.getDefaults().getColor("Button.background"));
txtTestResultSummary.setFont(new java.awt.Font("Tahoma", 0, 14)); // NOI18N
txtTestResultSummary.setText("jTextField1");
txtTestResultSummary.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
txtTestResultSummaryActionPerformed(evt);
}
});
jButtonMoreResult.setText("More");
jButtonMoreResult.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jButtonMoreResultActionPerformed(evt);
}
});
jButtonMoreTest.setText("More");
jButtonMoreTest.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jButtonMoreTestActionPerformed(evt);
}
});
jLabel9.setFont(new java.awt.Font("Tahoma", 0, 14)); // NOI18N
jLabel9.setText("Last Result Details");
jLabel9.setVisible(false);
jLabel10.setFont(new java.awt.Font("Tahoma", 0, 14)); // NOI18N
jLabel10.setText("(Value valid for all devices)");
javax.swing.GroupLayout layout = new javax.swing.GroupLayout(this);
this.setLayout(layout);
layout.setHorizontalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addContainerGap()
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(jLabel4)
.addComponent(jLabel5)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
.addGroup(layout.createSequentialGroup()
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(jLabel1)
.addComponent(jLabel2)
.addComponent(jLabel7)
.addComponent(jLabel6)
.addComponent(jLabel8))
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(jLabel5)
.addComponent(jLabel8)
.addComponent(jLabel6)
.addComponent(jLabel9)
.addComponent(jLabel1)
.addComponent(jLabel10))
.addComponent(jLabel4, javax.swing.GroupLayout.Alignment.LEADING))
.addComponent(jLabel2, javax.swing.GroupLayout.Alignment.LEADING))
.addComponent(jLabel7, javax.swing.GroupLayout.Alignment.LEADING))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
.addComponent(txtDeviceName)
.addComponent(txtDeviceDescription)
.addComponent(jScrollPaneTestDesc)
.addComponent(jScrollPaneRes, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(jScrollPaneParam, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
.addComponent(txtTestResultSummary, javax.swing.GroupLayout.PREFERRED_SIZE, 440, javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
.addComponent(jButtonMoreResult))
.addComponent(txtTestSuite)
.addComponent(txtTestName)
.addComponent(jScrollPane3)
.addComponent(jScrollPane2)
.addComponent(jScrollPane1, javax.swing.GroupLayout.DEFAULT_SIZE, 513, Short.MAX_VALUE)))
.addComponent(jButtonOk, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.PREFERRED_SIZE, 96, javax.swing.GroupLayout.PREFERRED_SIZE))
.addGroup(layout.createSequentialGroup()
.addComponent(txtTestName, javax.swing.GroupLayout.PREFERRED_SIZE, 441, javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(jButtonMoreTest))))
.addComponent(jButtonOk, javax.swing.GroupLayout.PREFERRED_SIZE, 96, javax.swing.GroupLayout.PREFERRED_SIZE))
.addGap(18, 18, 18)
.addComponent(jScrollPane4, javax.swing.GroupLayout.DEFAULT_SIZE, 317, Short.MAX_VALUE)
.addComponent(jScrollPaneHtml, javax.swing.GroupLayout.DEFAULT_SIZE, 272, Short.MAX_VALUE)
.addContainerGap())
);
layout.setVerticalGroup(
@@ -217,37 +283,46 @@ public class TestingListDetails extends javax.swing.JPanel {
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(jLabel1)
.addComponent(txtDeviceName, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
.addComponent(txtTestName, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jButtonMoreTest)
.addComponent(jLabel5))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(jLabel2)
.addComponent(txtDeviceDescription, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(jLabel4)
.addComponent(txtTestSuite, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(jLabel5)
.addComponent(txtTestName, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
.addComponent(txtTestSuite, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jLabel4))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(jLabel8)
.addComponent(jScrollPane3, javax.swing.GroupLayout.PREFERRED_SIZE, 81, javax.swing.GroupLayout.PREFERRED_SIZE))
.addComponent(jScrollPaneTestDesc, javax.swing.GroupLayout.PREFERRED_SIZE, 62, javax.swing.GroupLayout.PREFERRED_SIZE))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(jButtonMoreResult)
.addComponent(jLabel6))
.addComponent(txtTestResultSummary, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(jScrollPane2, javax.swing.GroupLayout.PREFERRED_SIZE, 79, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jLabel6))
.addComponent(jLabel9)
.addComponent(jScrollPaneRes, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(jLabel1)
.addComponent(txtDeviceName, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(txtDeviceDescription, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jLabel2))
.addGap(18, 18, 18)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(jScrollPaneParam, javax.swing.GroupLayout.PREFERRED_SIZE, 0, Short.MAX_VALUE)
.addGroup(layout.createSequentialGroup()
.addComponent(jLabel7)
.addGap(0, 216, Short.MAX_VALUE))
.addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 0, Short.MAX_VALUE))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(jLabel10)
.addGap(0, 0, Short.MAX_VALUE)))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(jButtonOk))
.addComponent(jScrollPane4))
.addComponent(jScrollPaneHtml, javax.swing.GroupLayout.DEFAULT_SIZE, 559, Short.MAX_VALUE))
.addContainerGap())
);
}// </editor-fold>//GEN-END:initComponents
@@ -260,6 +335,8 @@ public class TestingListDetails extends javax.swing.JPanel {
this.txtTestSuite.setText(hDetails.get("testSuite").toString());
this.txtTestName.setText(hDetails.get("testName").toString());
this.txtTestResult.setText(hDetails.get("time").toString() + "\n" + hDetails.get("testResult").toString());
this.txtTestResultSummary.setText( hDetails.get("testResult").toString());
this.txtTestResultSummary.setCaretPosition(0);
//help text
showHelp(String.valueOf(hDetails.get("testPath")), String.valueOf(hDetails.get("testHelp")));
//parameters table
@@ -413,27 +490,72 @@ public class TestingListDetails extends javax.swing.JPanel {
updateTestConfig(testPath, this.txtTestName.getText(), this.txtTestSuite.getText(),getParametersFromTable());
}//GEN-LAST:event_jButtonOkActionPerformed
private void jButtonMoreResultActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButtonMoreResultActionPerformed
if(this.jButtonMoreResult.getText()=="More"){
this.jButtonMoreResult.setText("Less");
this.jScrollPaneRes.setVisible(true);
this.jLabel9.setVisible(true);
this.txtDeviceName.setVisible(true);
this.jLabel1.setVisible(true);
this.jLabel2.setVisible(true);
this.txtDeviceDescription.setVisible(true);
}else{
this.jScrollPaneRes.setVisible(false);
this.jLabel9.setVisible(false);
this.txtDeviceName.setVisible(false);
this.jLabel1.setVisible(false);
this.jLabel2.setVisible(false);
this.txtDeviceDescription.setVisible(false);
this.jButtonMoreResult.setText("More");
}
}//GEN-LAST:event_jButtonMoreResultActionPerformed
private void txtTestResultSummaryActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_txtTestResultSummaryActionPerformed
// TODO add your handling code here:
}//GEN-LAST:event_txtTestResultSummaryActionPerformed
private void jButtonMoreTestActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButtonMoreTestActionPerformed
if(this.jButtonMoreTest.getText()=="More"){
this.jButtonMoreTest.setText("Less");
this.jScrollPaneTestDesc.setVisible(true);
this.jLabel4.setVisible(true);
this.txtTestSuite.setVisible(true);
this.jLabel8.setVisible(true);
}else{
this.jScrollPaneTestDesc.setVisible(false);
this.jLabel4.setVisible(false);
this.txtTestSuite.setVisible(false);
this.jLabel8.setVisible(false);
this.jButtonMoreTest.setText("More");
}
}//GEN-LAST:event_jButtonMoreTestActionPerformed
// Variables declaration - do not modify//GEN-BEGIN:variables
private javax.swing.JButton jButtonMoreResult;
private javax.swing.JButton jButtonMoreTest;
private javax.swing.JButton jButtonOk;
private javax.swing.JEditorPane jEditorPaneHelp;
private javax.swing.JLabel jLabel1;
private javax.swing.JLabel jLabel10;
private javax.swing.JLabel jLabel2;
private javax.swing.JLabel jLabel4;
private javax.swing.JLabel jLabel5;
private javax.swing.JLabel jLabel6;
private javax.swing.JLabel jLabel7;
private javax.swing.JLabel jLabel8;
private javax.swing.JScrollPane jScrollPane1;
private javax.swing.JScrollPane jScrollPane2;
private javax.swing.JScrollPane jScrollPane3;
private javax.swing.JScrollPane jScrollPane4;
private javax.swing.JLabel jLabel9;
private javax.swing.JScrollPane jScrollPaneHtml;
private javax.swing.JScrollPane jScrollPaneParam;
private javax.swing.JScrollPane jScrollPaneRes;
private javax.swing.JScrollPane jScrollPaneTestDesc;
private javax.swing.JTable jTableParams;
private javax.swing.JTextField txtDeviceDescription;
private javax.swing.JTextField txtDeviceName;
private javax.swing.JTextArea txtTestDescription;
private javax.swing.JTextField txtTestName;
private javax.swing.JTextArea txtTestResult;
private javax.swing.JTextField txtTestResultSummary;
private javax.swing.JTextField txtTestSuite;
// End of variables declaration//GEN-END:variables
}