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 ;
}
}
- AlexKaras8 years agoChampion Level 3
Hi,
> could you please explain your variables ?
Which ones? In what code (snippet)?
- fazlook8 years agoFrequent Contributor
Sorry for being late on this one :) I meant the following:
memberAccessToken, URL, method, formData, optionalAPIaccessToken
- chicks8 years agoRegular Contributor
the member access token is the access token required for our specific API. which goes in the headers for the request.
Some of our rest api requires both a member access token as well as a higher level access token which goes in the header as well if it's not empty. "method" would typically be either POST or GET.
the "message" is the actual string / function that you're calling (but not including the endpoint) for example "/public/rest/login "
the form data is the data for the message, which could be empty if you're passing everything in the actual message or might have some meaningful data in it for example for the login case it might be:
{"userId":"valid_email@domain.com","password":"<valid_password>"}
Related Content
- 2 years ago
Recent Discussions
- 16 hours ago