Contributions
Improvements to the Get Data dialog
Hi The Get Data dialog is a great feature but the time spent using it can be reduced: Allow selection of multiple properties in test case/step, such that clicking Add generates multiple variables. Automatically place the cursor in the search box, such that mouse movement and clicks are minimized. Pressing tab, while the cursor is in the search box should move focus to the select options below. Pressing tab again could move the cursor to the next search box. Save thesize of Get Data windowafterclosing it. Regards1.3KViews0likes1CommentUsability improvements to LoadUI
I would like to see the following improvements to the LoadUI interface: Feedback on status of agent readyness, i.e. has the agent received/finished initializing test cases. This is would be a really nice feature as it's impossible to figure out when an agent is ready. Sometime it takes a long time for the project to be uploaded to the agent and for the agent to announce "[SceneAgent] The ****scenario was loaded." in the log, other times it never gets ready. Allow drag'n'dropping of agents under Distribution, such that they can be reoganized. Currently they are seamingly sorted by date added. Resizing Agents in the Distribution list such that a better overview can be achieved. This could also be achieved with an option to view the agents as a list, while allowing the same context menu as well asthe option to turn agents ON/OFF. Prevent Horisontal scrolling of Agents under Distribution. I currently have 4 agents and the 4th is already outside of view. Floating the agents in the window will allow more agents to be within the view. Enable multiple selection for removal of scenarios from agents. It currently takes 1 right-click and 1 left-click for each scenario. I have 30 scenarios added to each of my 4 agent which would total 120 mouse click to remove all of them. It's easier to remove the agent, add it again and assign scenarios, which isn't really desirable. Better detection of online/offline agents. Example: The remote agent is running and the Agent under distribution is "ON". Close the remote agent, let ReadyAPI detect that it's disconnected and start the remote agent again. ReadyAPI won't detect that it's running. Transfer dependent files to agents. A ReadyAPI project has a "Script Library" property, so copying the contents of this would be a nice addition Also copying the contents of the-Dsoapui.ext.libraries vmoptions folder would begreat. Regards Michael2KViews0likes1CommentRunning ReadyAPI groovy script improvements
I'd like to se the following features when working with groovy scripts: Allow ESC to close error dialogs. Also autoselect OK button such that Space og Enter closes the dialog. TAB -> Space works but suggested options would be optimal. Create option for stopping groovy test steps. Once a groovy is running in an infinite loop for example: closing the test step (maybe?) or ReadyAPI is the only option. Try stopping'while(true) {}'. Regards Michael1.6KViews1like0CommentsGeneral usability improvements to ReadyAPI
The following feature requests seem too small to have their own feature request, so i decided to collect them in a single post. Enable ctrl+w to close open teststeps, testcases, suites etc. This is standard in a lot of programs now. Tabs in browsers as an obvious example Rename "remove" to "delete" when right clicking a test case (It seems delete is commonly used term in Ready! API). It's delete for the test steps for example. Remember size of navigators after restart. When in split view, in this case a test step on the left and a test case on the right. Double-clicking a test step within the opened test case editor should open the test step as a tab next to the test case and not in a new third and maximized window. This seems undesirable. Cloning a lot of test steps to another test case, results in a lot of work removing "Copy of " from the name. Renaming while cloning should only happen if the destination has a test step with the same name. Regards Michael1.8KViews4likes0CommentsRe: ReadyApi 2.0 - GetData resizeable
I wholehearted agree. It's definitely more "bling" than practical. I'mtaking the liberty of piggyback riding this, with some additional requests, as the topic is thisspecific window: Allow selection of multiple properties in test case/step , such that clicking Add generates multiple variables. Automatically place the cursor in the search box, such that mouse movement and clicks are minimized. Pressing tab, while the cursor is in the search box should move focus to the select options below. Pressing tab again could move the cursor to the next search box. Please let me know, if these should be part of a separate feature requests7.2KViews0likes0CommentsNullPointerException when adding a custom property after adding a Data Sink
I'm currently developing a test suite in Ready! API 1.2.2, when i noticed that i wasn't able to add custom properties to anything (The project, test suite, test steps etc.). This happened after i added a Data Sink and set DataSink to Groovy. Doing this resulted in ajava.lang.NullPointerException.Creating a new Project, Test Suite, Test Case and adding a Data Sink with Groovy does not reproduce the exception. However, tracking down the error, I was able to produce a very minimal project.This project is stripped down froma much larger project, that i won't be able to share. The excessive line breaks are produced by Ready! API, thus, they were not there, when istripped down the project. Removing the data sink makes it possible to add custom properties again. Edit: Sorry about the smileys, but they are added automatically. <?xml version="1.0" encoding="UTF-8"?> <con:soapui-project id="7e24385f-8a4f-4a20-890d-42a90b1b6dae" activeEnvironment="Default environment" name="NPE project" resourceRoot="${projectDir}" scriptLibrary="" soapui-version="6.0.0" xmlns:con="http://eviware.com/soapui/config"><con:settings/><con:testSuite id="5ceb7db7-d4f1-4476-9380-981d9ff7155f" name="Scenarier"><con:settings/><con:runType>SEQUENTIAL</con:runType><con:testCase failOnError="true" failTestCaseOnErrors="true" keepSession="false" maxResults="0" name="UTIL_CreateSessions" searchProperties="true" id="5522cd35-d557-4a87-877e-7159d8471716" disabled="true"> <con:settings> <con:setting id="d834a5f9-5534-4ee1-b86b-6377c41042eafileName">CreateSessions</con:setting> </con:settings> <con:testStep type="datasink" name="DataSink" id="ad576220-bbbd-401d-b56c-5f48b322443e"><con:settings/><con:config xsi:type="con:DataSinkStep" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><con:dataSink type="Groovy"><con:configuration><script/></con:configuration></con:dataSink><con:properties/></con:config></con:testStep><con:properties> </con:properties> <con:reportParameters/> </con:testCase><con:properties/><con:reportParameters/></con:testSuite><con:requirements/><con:properties/><con:wssContainer/><con:databaseConnectionContainer/><con:oAuth2ProfileContainer/><con:reporting><con:reportTemplates/><con:xmlTemplates/><con:xmlTemplates/><con:parameters/><con:parameters/></con:reporting><con:reporting/><con:authRepository/></con:soapui-project> The Stack Trace looks like this: java.lang.NullPointerException at java.util.Arrays$ArrayList.<init>(Unknown Source) at java.util.Arrays.asList(Unknown Source) at com.eviware.soapui.impl.wsdl.teststeps.WsdlDataSinkTestStep.getPropertyExpansions(WsdlDataSinkTestStep.java:356) at com.eviware.soapui.model.propertyexpansion.PropertyExpansionUtils.getPropertyExpansions(PropertyExpansionUtils.java:256) at com.eviware.soapui.model.propertyexpansion.PropertyExpansionUtils.getPropertyExpansions(PropertyExpansionUtils.java:272) at com.eviware.soapui.model.propertyexpansion.PropertyExpansionUtils.getPropertyExpansions(PropertyExpansionUtils.java:272) at com.eviware.soapui.model.propertyexpansion.PropertyExpansionUtils.getPropertyExpansions(PropertyExpansionUtils.java:272) at com.eviware.soapui.model.propertyexpansion.PropertyExpansionUtils.renameProperty(PropertyExpansionUtils.java:226) at com.eviware.soapui.impl.wsdl.AbstractTestPropertyHolderWsdlModelItem.renameProperty(AbstractTestPropertyHolderWsdlModelItem.java:127) at com.eviware.soapui.impl.wsdl.panels.teststeps.support.DefaultPropertyHolderTableModel.setValueAt(DefaultPropertyHolderTableModel.java:108) at javax.swing.JTable.setValueAt(Unknown Source) at javax.swing.JTable.editingStopped(Unknown Source) at javax.swing.AbstractCellEditor.fireEditingStopped(Unknown Source) at javax.swing.DefaultCellEditor$EditorDelegate.stopCellEditing(Unknown Source) at javax.swing.DefaultCellEditor.stopCellEditing(Unknown Source) at javax.swing.JTable$GenericEditor.stopCellEditing(Unknown Source) at javax.swing.plaf.basic.BasicTableUI$Actions.actionPerformed(Unknown Source) at javax.swing.SwingUtilities.notifyAction(Unknown Source) at javax.swing.JComponent.processKeyBinding(Unknown Source) at javax.swing.JTable.processKeyBinding(Unknown Source) at javax.swing.JComponent.processKeyBindings(Unknown Source) at javax.swing.JComponent.processKeyEvent(Unknown Source) at java.awt.Component.processEvent(Unknown Source) at java.awt.Container.processEvent(Unknown Source) at java.awt.Component.dispatchEventImpl(Unknown Source) at java.awt.Container.dispatchEventImpl(Unknown Source) at java.awt.Component.dispatchEvent(Unknown Source) at java.awt.KeyboardFocusManager.redispatchEvent(Unknown Source) at java.awt.DefaultKeyboardFocusManager.dispatchKeyEvent(Unknown Source) at java.awt.DefaultKeyboardFocusManager.preDispatchKeyEvent(Unknown Source) at java.awt.DefaultKeyboardFocusManager.typeAheadAssertions(Unknown Source) at java.awt.DefaultKeyboardFocusManager.dispatchEvent(Unknown Source) at java.awt.Component.dispatchEventImpl(Unknown Source) at java.awt.Container.dispatchEventImpl(Unknown Source) at java.awt.Window.dispatchEventImpl(Unknown Source) at java.awt.Component.dispatchEvent(Unknown Source) at java.awt.EventQueue.dispatchEventImpl(Unknown Source) at java.awt.EventQueue.access$200(Unknown Source) at java.awt.EventQueue$3.run(Unknown Source) at java.awt.EventQueue$3.run(Unknown Source) at java.security.AccessController.doPrivileged(Native Method) at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source) at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source) at java.awt.EventQueue$4.run(Unknown Source) at java.awt.EventQueue$4.run(Unknown Source) at java.security.AccessController.doPrivileged(Native Method) at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source) at java.awt.EventQueue.dispatchEvent(Unknown Source) at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source) at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source) at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source) at java.awt.EventDispatchThread.pumpEvents(Unknown Source) at java.awt.EventDispatchThread.pumpEvents(Unknown Source) at java.awt.EventDispatchThread.run(Unknown Source)10 years agoPlace ReadyAPI QuestionsReadyAPI Questions585Views0likes0Comments