This project is read-only.

What a great project! - Kudo's and a few requests

Jun 3, 2008 at 5:08 PM
My compliments to you. This is an excellent start to a very worthwhile project and I believe it could be expanded to support some of the basic functionality of commercial SOAP/WS testing suites available from vendors like Parasoft and Crosscheck.

Id like to make a few suggestions which would make Storm immediately more useful (in my desired development order):
1) If an elements/attribute minOccurance == 0, allow specification (checkbox) to include the element/attribute or not, instead of just setting to null. This will allow for testing valid & invalid requests.
2) If an element/attribute is an array, allow addition of multiple values.
3) Ability to populate a byte[] by reading bytes from a file
4) Ability to open saved requests (currently allows saving).
5) Better synchronization between "treeview" and Raw/XML view. Currently, the Raw/XML is only updated when you hit send.
6) Ability to save/open multiple requests "sets".
7) Same as 4,6 for responses with added ability to check a request "set" against a saved response "set" (test cases).

I will be looking at the source asap :)

Jun 9, 2008 at 11:02 PM
Thanks for creating such a nice product.

I have a method in a WCF service that returns a complex type. The STORM is able to pull the name of that method but when I double click it so that I can see the generated request it gives me the following error:

System.NullReferenceException: Object reference not set to an instance of an object.

at System.Object.GetType()

at Storm.Types.ReflectionOps.readType(Object myObjH, TreeNode parentNode, String name)

at Storm.Types.ReflectionOps.createChildrenTree@115@115(FastFunc`2 readType@115, List`1 fList, Object parentObj, List`1 trList)

at Storm.Types.ReflectionOps.readType(Object myObjH, TreeNode parentNode, String name)

at Storm.UI.Forms.FormMainOps.bodyNodeChildren@584.Invoke(Tuple`3 arg@583)

at Microsoft.FSharp.Collections.PrivateListHelpers.map[T,U](FastFunc`2 f, List`1 x)

at Storm.UI.Forms.FormMainOps.buildTreeViewInput$cont@528@528(TreeViewEventArgs args@528, String wsUrl@528, Option`1 thisWebServiceOpt@528)

at Storm.UI.Forms.FormMainOps.clo@604.Invoke(TreeViewEventArgs args)

at Microsoft.FSharp.Collections.PrivateListHelpers.iter[T](FastFunc`2 f, List`1 x)

at Microsoft.FSharp.Control.IEventModule.create@18.Invoke(A x)

at Microsoft.FSharp.Collections.PrivateListHelpers.iter[T](FastFunc`2 f, List`1 x)

at Microsoft.FSharp.Control.IEventModule.create@18.Invoke(A x)

at Storm.UI.Forms.FormMainOps.tvWebService_webMethodNode_AfterSelect_Event@318_1.Invoke(Object sender, TreeViewEventArgs e)

at System.Windows.Forms.TreeViewEventHandler.Invoke(Object sender, TreeViewEventArgs e)

at System.Windows.Forms.TreeView.OnAfterSelect(TreeViewEventArgs e)

at System.Windows.Forms.TreeView.TvnSelected(NMTREEVIEW* nmtv)

at System.Windows.Forms.TreeView.WmNotify(Message& m)

at System.Windows.Forms.TreeView.WndProc(Message& m)

at System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)

at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)

at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)

Coordinator
Jun 11, 2008 at 3:25 AM
Hi rxraza,

Have you tried this out with the most recent release (Storm 0.3.0)?  If it still doesn't work can you please send me a stub of your WCF service so I can test it?

~Erik

rxraza wrote:
Thanks for creating such a nice product.

I have a method in a WCF service that returns a complex type. The STORM is able to pull the name of that method but when I double click it so that I can see the generated request it gives me the following error:

System.NullReferenceException: Object reference not set to an instance of an object.

at System.Object.GetType()

at Storm.Types.ReflectionOps.readType(Object myObjH, TreeNode parentNode, String name)

at Storm.Types.ReflectionOps.createChildrenTree@115@115(FastFunc`2 readType@115, List`1 fList, Object parentObj, List`1 trList)

at Storm.Types.ReflectionOps.readType(Object myObjH, TreeNode parentNode, String name)

at Storm.UI.Forms.FormMainOps.bodyNodeChildren@584.Invoke(Tuple`3 arg@583)

at Microsoft.FSharp.Collections.PrivateListHelpers.map[T,U](FastFunc`2 f, List`1 x)

at Storm.UI.Forms.FormMainOps.buildTreeViewInput$cont@528@528(TreeViewEventArgs args@528, String wsUrl@528, Option`1 thisWebServiceOpt@528)

at Storm.UI.Forms.FormMainOps.clo@604.Invoke(TreeViewEventArgs args)

at Microsoft.FSharp.Collections.PrivateListHelpers.iter[T](FastFunc`2 f, List`1 x)

at Microsoft.FSharp.Control.IEventModule.create@18.Invoke(A x)

at Microsoft.FSharp.Collections.PrivateListHelpers.iter[T](FastFunc`2 f, List`1 x)

at Microsoft.FSharp.Control.IEventModule.create@18.Invoke(A x)

at Storm.UI.Forms.FormMainOps.tvWebService_webMethodNode_AfterSelect_Event@318_1.Invoke(Object sender, TreeViewEventArgs e)

at System.Windows.Forms.TreeViewEventHandler.Invoke(Object sender, TreeViewEventArgs e)

at System.Windows.Forms.TreeView.OnAfterSelect(TreeViewEventArgs e)

at System.Windows.Forms.TreeView.TvnSelected(NMTREEVIEW* nmtv)

at System.Windows.Forms.TreeView.WmNotify(Message& m)

at System.Windows.Forms.TreeView.WndProc(Message& m)

at System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)

at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)

at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)




Coordinator
Jun 11, 2008 at 3:44 AM
Hi Enliven,

Thank you for your requests! I agree that the tool should include those features.  
  • With regards to requests #1 & #2, for the moment you can achieve these by directly editing the Raw soap request ("RAW view").
  • Request #4 should be covered by the latest release (soap requests saved as an input in test case is re-loaded as part of a storm project).
  • Request #5 is actually an old bug I haven't figured out how to fix yet.  I still have to find a way to deserialize the RAW soap request so that in can be displayed in the treeview.  Please point me in the right direction if you know how to do this...
My plan for the next release is to include the "expected" soap response as part of a test case so that we can have an automated way of running the test cases and comparing the actual with the expected soap response.

~Erik

Enliven wrote:
My compliments to you. This is an excellent start to a very worthwhile project and I believe it could be expanded to support some of the basic functionality of commercial SOAP/WS testing suites available from vendors like Parasoft and Crosscheck.

Id like to make a few suggestions which would make Storm immediately more useful (in my desired development order):
1) If an elements/attribute minOccurance == 0, allow specification (checkbox) to include the element/attribute or not, instead of just setting to null. This will allow for testing valid & invalid requests.
2) If an element/attribute is an array, allow addition of multiple values.
3) Ability to populate a byte[] by reading bytes from a file
4) Ability to open saved requests (currently allows saving).
5) Better synchronization between "treeview" and Raw/XML view. Currently, the Raw/XML is only updated when you hit send.
6) Ability to save/open multiple requests "sets".
7) Same as 4,6 for responses with added ability to check a request "set" against a saved response "set" (test cases).

I will be looking at the source asap :)