我需要通过提供登录请求的用户名和密码来保存访问令牌。然后该令牌应该能够用于授权其他API请求。我正在使用MaxSoft IntelliAPI Framework进行API测试自动化。 谢谢。
答案 0 :(得分:0)
您可以按照以下步骤保存访问令牌。
在resources / api_document中打开“api_doc.xlsx”文件
提供有关您的登录API请求的“API_NAME”,“API_ENDPOINT”,“HTTP_METHOD”和“JSON_PAYLOAD_TEMPLATE”列的相关详细信息,请在此处输入图片说明
保存Excel文件
使用任何名称
您可以为“规范”标题和“方案”标题
在第一步中,您必须定义需要调用的API名称。该API名称应包含在“api_doc.xlsx”文件
对于此示例,我将使用“Login”作为API名称,因为我已在步骤2中的excel文件中提供了这些详细信息
现在你可以写第一步了,
* Given that a user needs to invoke "Login"
第二步,您需要配置身份验证令牌。由于登录请求不包含令牌,因此我们可以提供配置值为N / A
* And the user set the request authentication configurations as follows
|Configuration |Configuration Value|
|------------------------------------------------------------------|-------------------|
|Is authentication required? |Yes |
|Do you need to retrieve the access token from the text file? |Yes |
|Provide the access token if you need to authorize the API manually|N/A |
在第三步中,您必须通过替换“api_doc.xlsx”文件中提供的值来创建JSON有效内容。由于我的登录有效负载包含“用户名”和“密码”属性,并且我在excel文件中将其值定义为“#username”和“#password”,我将按如下方式编写步骤,
* And the user set the request attributes as follows
|Attribute Value In JSON Template|Attribute Value To Be Set|
|--------------------------------|-------------------------|
|#username |osanda |
|#password |Password1 |
作为第四步,我可以按如下方式调用API,
* When the user invokes the API
我已经调用了API,我也有响应。所以我可以使用以下步骤验证响应。
因此,在第五步中,我们将验证响应的状态代码,
* Then the status code for the request is "201"
然后我们将使用JSON Path Assertions验证响应内容,如下所示,
* And the JSON Path Assertions for the response should be equal to the following
|JSON Path |Expected Result|
|--------------|---------------|
|$.status |success |
通常在登录响应中,我们可以找到用于授权下一个请求的访问令牌。所以我们需要做的就是保存那个令牌。它可以按如下方式完成,
* And save the access token which is the attribute value of "data" in the response
现在您已经完成了设计阶段。您可以通过单击方案标题
运行测试后,转到resources / access_tokens并打开“access_token_to_be_used_for_testing.txt”
您可以看到已保存的令牌。
现在,当您使用请求身份验证配置步骤时,将自动从其他API请求中检索已保存的令牌。
* And the user set the request authentication configurations as follows
|Configuration |Configuration Value|
|------------------------------------------------------------------|-------------------|
|Is authentication required? |Yes |
|Do you need to retrieve the access token from the text file? |Yes |
|Provide the access token if you need to authorize the API manually|N/A |