Forum Discussion
Hi Obaid,
I ended up automating these programmatically using javascript without any explicit support from TestComplete, though my tests still run from TC.
Here's some sample code:
function v2_getVirtualCardNumber (token , memberID, progUDK)
{
var message = baseURL + "v2/" + progUDK + "/members/" + memberID + "/cards" ;
return http_request_member( token, message, "GET", "" );
}
function http_request_member (memberAccessToken, URL, method, formData, optionalAPIaccessToken) {
Log.Message( "token " + memberAccessToken );
Log.Message(" message in additional info", URL);
Log.Message(" formData in additional info", formData);
var XmlHttpRequest;
XmlHttpRequest = null;
XmlHttpRequest = new ActiveXObject("MSXML2.XMLHTTP.3.0");
if ( ( method == undefined) || (method == "") ) {
method = "GET";
}
var curl;
if ( method == "GET") {
curl = "curl --insecure -H \"Content-type: application/json\" -H \"memberAccessToken:"+memberAccessToken+"\" -X " + method + " " + formData + " " + URL;
}
else {
curl = "curl --insecure -H \"Content-type: application/json\" -H \"memberAccessToken:"+memberAccessToken+"\" -X " + method + " -d " + formData + " " + URL;
}
Log.Message(" curl in additional info=", curl+"=");
// XmlHttpRequest.open( Method, URL, Asynchronous, UserName, Password)
// method e.g. GET, POST, HEAD, PUT, DELETE, OPTIONS...
// Asynchronous = true, do not wait on a server response, false, pause current execution utnil the request is complete
XmlHttpRequest.open(method, URL, false);
// Name, Value
XmlHttpRequest.setRequestHeader("Content-Type", "application/json");
XmlHttpRequest.setRequestHeader("memberAccessToken", memberAccessToken);
if ( (optionalAPIaccessToken != undefined) && ( optionalAPIaccessToken != EMPTY) ) {
Log.Message("header access_token " + optionalAPIaccessToken + " added to request");
XmlHttpRequest.setRequestHeader("access_token", optionalAPIaccessToken);
}
XmlHttpRequest.send(formData);
try {
Log.Message("http_request: reply in additional info", XmlHttpRequest.responseText);
return XmlHttpRequest.responseText;
}
catch (e) {
return "Error" + e ;
}
}
- obaid_shirwani9 years agoContributor
Hey Chicks,
I am extremely thankful for this. Let me investigate on this. Will update my findings after implementing your work.
Regards,
Obaid Shirwani
- AlexKaras9 years agoChampion Level 3
Hi Obaid,
SoapUI (http://smartbear.com/product/ready-api/soapui-ng/overview/ or http://www.soapui.org/ depending on your needs) fits better for REST API testing. SoapUI is integrated with TestComplete which means that you can run SoapUI tests from within TestComplete and get consolidated log.
Or, as Chicks already mentioned, you can use coded approach and keep everything within TestComplete.
- Colin_McCrae9 years agoCommunity Hero
Just to back up, you can use - ActiveXObject("MSXML2.XMLHTTP.3.0") - with RESTful API's.
I have a full set of script extensions now built to allow my tests to write their results to TFS using it's new RESTful API.
Related Content
- 2 years ago
Recent Discussions
- 16 hours ago