One of the more common questions I'm asked is “how do I set or get the current WSDL's endpoint using custom code?” Unfortunately, HP doesn't currently have a UFT API document that describes all the methods and properties for all of the UFT API classes/objects.
In truth it's pretty easy, but to actually determine which method to use can be a real time-consuming, hit-or-miss process. So to save some time, you can set or get the web service's Endpoint address (and for that matter, any of the General properties) in custom code or in an event using:
this.StServiceCallActivity5.TransportProtocol.SOAPProperties
FYI- your StServiceCallActivity number might be different than mine.
How to read the UFT API EndPoint value at runtime
For this example, I'm using the WSDL http://www.webservicex.net/geoipservice.asmx?WSDL
and the GetGeoIP operation. In the GetGeoIP's Properties>Events I created a custom handler under the OnBeforeExecuteStepEvent. To quickly test this out, I added a using System.Windows.Forms; under my using statements, then entered the following:
string wsdl = this.StServiceCallActivity4.TransportProtocol.SOAPProperties.EndpointAddress;
System.Windows.Forms.MessageBox.Show(wsdl);
How to Programmatically Set the UFT API EndPoint Value
Using the same EndpointAddress method, you can also programmatically set the endpoint by doing the following:
this.StServiceCallActivity7.TransportProtocol.SOAPProperties.EndpointAddress = “http://joe”;
Of course, the test will fail if you run it because this is not a real endpoint for the web service — but it will quickly prove to you that the endpoint is changed at runtime.
Now, in the real world, you can read endpoints from a file, spreadsheet, or in custom code and set your WSDL endpoint. Cool – hope it helps.
More UFT API Automation Awesomeness
For more UFT API Automation Awesomeness, tips, tricks and how-tos, check out my new book, The UFT API Testing Manifesto – A step-by-step, hands-on testing guide for the masses, available on Amazon.com!
Don't own a Kindle? No Problem — you can still read my UFT API book!
I'm aware that some of you have had trouble accessing my books in the past. The truth is that you don't need a Kindle! There are a variety of free ways you can read a Kindle eBook:
- Read it on your PC or Mac (Kindle Cloud Reader)
- Read it on your iPhone or iPad (iTunes App)
- Read it on your Android (Kindle for Android)
- Read it on your Blackberry (Kindle for Blackberry)
In short, it's really simple to read Amazon Kindle books, no matter what type of device you use to access the Internet.