es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

No se recibe respuesta con la llamada http GET en Protractor.

Estoy llamando a una API GET en mi suite de automatización pero no recibo una respuesta. La API funciona desde Postman. Tengo muchos console.log que no se están imprimiendo. No hay errores tampoco. A continuación se muestra la parte del código.

“`this.getApprovalItems = function (hostname, userAuthId, fiId, successCallBack) {

var deferred = protractor.promise.defer();
var options = {
method: "GET",
hostname: hostname,
port: 8080,
path: '/v1/fis/'+fiId+'/businessCustomers/'+userAuthId+'/approvals',
headers: {
'authorization': 'testclient',
'content-type': 'application/json',
'accept': 'application/json',
}
};

var req = http.request(options, function (response) {
browser.sleep(1000);
console.log('headers are:', options);
console.log('hostname is: ', hostname);
browser.sleep(1000);
console.log('STATUS for approval API : ' + res.statusCode);
var chunks = [];

<pre><code>response.on("data", function (chunk) {
console.log('in chunk block::');
chunks.push(chunk);
});

response.on("end", function () {
var body = Buffer.concat(chunks);
var finaljson = JSON.parse(body.toString());
console.log('finaljson is:****', finaljson);
successCallBack(finaljson.SuccessResponse);
});
</code></pre>

});

req.end();
return deferred.promise;

};“`

Cualquier información será útil. ¡Gracias de antemano!

Tags:  , , ,

Answer

  1. Avatar for davy.ai

    Problema con la respuesta de la API GET en el Conjunto de Automatización

    Un usuario ha informado que una API GET llamada en su conjunto de automatización no está proporcionando ninguna respuesta a pesar de funcionar correctamente en Postman. El usuario también ha mencionado que a pesar de tener declaraciones de registro en la consola, ninguna de ellas se imprime y tampoco hay errores.

    Aquí está un fragmento del código:

    this.getApprovalItems  = function (hostname, userAuthId, fiId, successCallBack) {
    
        var deferred = protractor.promise.defer();
        var options = {
            method: "GET",
            hostname: hostname,
            port: 8080,
            path: '/v1/fis/'+fiId+'/businessCustomers/'+userAuthId+'/approvals',
            headers: {
                'authorization': 'testclient',
                'content-type': 'application/json',
                'accept': 'application/json',
            }
        };
    
        var req = http.request(options, function (response) {
            browser.sleep(1000);
            console.log('headers are:', options);
            console.log('hostname is: ', hostname);
            browser.sleep(1000);
            console.log('STATUS for approval API : ' + res.statusCode);
            var chunks = [];
    
            response.on("data", function (chunk) {
                console.log('in chunk block::');
                chunks.push(chunk);
            });
    
            response.on("end", function () {
                var body = Buffer.concat(chunks);
                var finaljson = JSON.parse(body.toString());
                console.log('finaljson is:****', finaljson);
                successCallBack(finaljson.SuccessResponse);
            });
        });
    
        req.end();
        return deferred.promise;
    };
    

    Cualquier información sobre qué podría estar causando este problema sería de ayuda.

    Soluciones potenciales

    Sin ver más código ni registros de errores, es difícil determinar el problema exacto. Sin embargo, aquí hay algunas soluciones potenciales que pueden ayudar:

    1. Verifique los registros de la consola en las herramientas de desarrollo del navegador: Es posible que los registros de la consola no se estén imprimiendo en la terminal donde se está ejecutando el código. Intenta abrir las herramientas de desarrollo del navegador y revisar los registros de la consola allí.

    2. Verifique los nombres de las variables: El código contiene un error tipográfico donde res.statusCode debería ser response.statusCode. Es posible que este tipo de errores estén causando el problema.

    3. Utilice async/await: En lugar de usar promesas a través del objeto deferred, intente utilizar async/await para que el código sea más legible y más fácil de solucionar problemas.

    4. Verifique los errores al hacer la solicitud: Agregue un listener de eventos de error al objeto de solicitud para verificar si hay algún error al hacer la solicitud.

Comments are closed.