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 ;
}
}