J'ai une classe de connexion de test, qui a des tests positifs et négatifs pour la connexion. Résultat pour cas positif - Recevez le jeton dans la réponse. P>
En outre, j'ai une autre classe de fonctionnalités, qui a des tests pour certaines fonctionnalités, disponibles pour les utilisateurs de connexion. P>
Comment obtenir le jeton du test de connexion positif aux tests de fonctionnalité? p>
J'ai trouvé une seule solution: p>
Mais il semble que l'ajout de dépendance à tous les tests de fonctionnalité n'est pas une bonne idée. Y a-t-il d'autres options? P>
3 Réponses :
La solution possible pourrait bouger la fonctionnalité de connexion à un endroit séparé et la réutiliser dans login em> strong> et tests fonctionnels em> strong> strong> . Par exemple, vous pouvez extraire un jeton avant class RequestHelper {
public static io.restassured.Response login(String username, String password) {
Response response;
//some code to get login response
return response;
}
}
class LoginTest {
@Test
public void shouldLogin() {
Response loginResponse = RequestHelper.login("username", "password");
//assertions that response is valid
}
}
class FunctionalTest {
private String token;
@BeforeClass
public void getToken(){
Response response = RequestHelper.login("username", "password");
//Extracting token from response here (depends on how token is returned)
token = response.then().extract().jsonPath().getString("token");
}
@Test
public void functionalTest(){
//Use token here
}
}
Nous pouvons utiliser pour ex: p> dans la classe de test, p> dans un autre Classe pour le même test, P> iTestContext CODE>.
String token = ctx.getAttribute("TOKEN");
Vous pouvez passer des paramètres dans votre fichier XML de course. Et Vous pouvez utiliser Propriétés Fichiers externes pour enregistrer des valeurs. P>