Comment tester l'API Rest qui nécessitent une authentification à l'aide rassurez-vous
Je veux tester une API Rest qui nécessitent une authentification, avant d'obtenir la réponse Json.
Pour exa. Si je veux visiter le reste de l'API: http://192.168.xx.xx:9000/dashboards/all/list/m1/p1/sch1
puis
si je ne suis pas déjà connecté , alors ce sera me diriger vers la Connexion de la page HTML, et après la connexion, cela va me montrer la sortie Json.
Maintenant, je veux écrire un Repos assuré code en java pour les même:
Je ne sais pas , si c'est possible de faire de la connexion à l'aide ou non.
J'ai DONC écrit un code simple pour la même::
public class TestNGSimpleTest1 {
@Test
public void testAdd() {
//expect().
//statusCode(400).
//body("Status", equalTo("Success")).
//when().
//get("http://localhost:9000/dashboards/all/list/m1/p1/sch1");
//System.out.println("Response received is ::" +res);
Response res = get("http://localhost:9000/dashboards/all/list/m1/p1/sch1");
assertEquals(200,res.getStatusCode());
String json = res.asString();
System.out.println("Response received is :: " +json);
}
Donc ici, au lieu d'obtenir la réponse Json, je suis obtenir le source HTML de la page de réponse.
Donc, ma question est, si possible, comment faire un login et d'obtenir la réponse Json.
Merci d'avance.
En fait, j'ai essayé ce lien aussi, mais le problème est que la page de Connexion où il redirection est , une page html.. l'aide d'ur lien, c'est juste la page HTML encore.
Ce type d'authentification que vous utilisez? Juste une page d'identification qui contient une sauvegarde de la base de données qui vérifie le nom d'utilisateur et le mot de passe pour que personne ne l'authentification basique ou OAuth? Cela semble plutôt étrange mais surtout pour un REPOS en fonction du service web, qui est essentiellement destinés à être utilisés par des applications plutôt que les humains (donc pas de saisie dans un formulaire-champs et en cliquant sur un bouton de type submit). Ce serveur de cadre utilisez-vous? CXF, Restlet, ...? Avez-vous déjà essayé de vous connecter à votre service de REPOS à l'aide de SoapUI?
Je mettrai à jour ce sujet bientôt parce que je ne suis pas sûr de la réponse que vous demandez. Wheneever-je faire une requête http comme : 192.168.xx.xx:9000/tableaux de bord/toutes les/liste/m1/p1/sch1 , alors on redirige vers une page HTML page de connexion où ce demander un nom d'utilisateur et mot de passe. Je vais avoir plus de détails d'ici demain et sera mise à jour que vous. Merci.
Discuté avec notre équipe de Dev .. ils ont conçu l'API Rest de telle manière que pour n'importe quel API Rest de demander ce sera redirigé vers une page HTML de la page de login. Ils ont convenu de modifier cette authentification comportement de l'assurance de la qualité de l'environnement de test, mais Est-ce la bonne démarche??
OriginalL'auteur undefined | 2014-01-05
Vous devez vous connecter pour publier un commentaire.
Si vous utilisez l'authentification par défaut de JIRA, puis de préemption authentification est ce que vous avez besoin. Ci-dessous sont des exemples de code.
L'exemple de code va vous aider à faire de l'authentification avant chaque demande, vous envoyer.
OriginalL'auteur Powpow
Vous pouvez essayer ceci:
OriginalL'auteur Rafa
Vous probablement à la recherche pour le formulaire d'authentification:
Optionnellement, vous devez fournir une instance de FormAuthConfig d'un troisième paramètre pour décrire la façon dont votre HTML de la page de login ressemble.
OriginalL'auteur Johan
Cette méthode fonctionne très bien. En plus de soumettre les informations d'identification de connexion, il permet aussi de vérifier le code d'état 200 dans le même temps
OriginalL'auteur
Ci-dessous le code a fonctionné pour moi :
De Référence - Exemple 14 : https://www.programcreek.com/java-api-examples/index.php?api=com.jayway.restassured.RestAssured
OriginalL'auteur Thanga