我是新的放心,我试图做一个非常基本的测试来检查响应体和状态。我在这个API调用中按要求传递头部,但当我运行测试时,我得到了401个未经授权的消息,而不是在响应体中显示结果。当我使用Postman运行相同的API时,它的工作很好
package test;
import org.testng.Assert;
import org.testng.annotations.Test;
import io.restassured.RestAssured;
import io.restassured.http.Method;
import io.restassured.response.Response;
import io.restassured.specification.RequestSpecification;
public class SimpleGetTest {
@Test
public void GetWeatherDetails() {
RestAssured.baseURI = "https://test.com";
RequestSpecification httpRequest = RestAssured.given();
Response response = httpRequest.given().header("Content-Type", "application/json").given()
.header("x-api-key", "123456").
request(Method.GET, "/hello");
System.out.println("Response sent => " + response);
String responseBody = response.getBody().asString();
System.out.println("Response Body is => " + responseBody);
int statusCode = response.getStatusCode();
System.out.println("Actual Status Code is : " + statusCode);
Assert.assertEquals(statusCode, 200,
"BUG : Status code is coming as different");
System.out.println("Expected : Status code coming correct");
}
}
下面是我得到的控制台消息,其中显示401
响应发送=>io.restassured.internal.restassuredresponseImpl@18cebaa5响应正文为=>“消息”:“unauthorized_access”,“代码”:“401”,“数据”:null}实际状态代码为:200预期:状态代码正确通过:GetWeatherDetails
我在我的eclipse上运行了您的精确测试,它按预期工作。以下是输出:
[RemoteTestNG] detected TestNG version 6.14.3
Response sent => io.restassured.internal.RestAssuredResponseImpl@21526f6c
Response Body is => <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<meta http-equiv="Content-Script-Type" content="text/javascript">
<script type="text/javascript">
function getCookie(c_name) { // Local function for getting a cookie value
if (document.cookie.length > 0) {
c_start = document.cookie.indexOf(c_name + "=");
if (c_start!=-1) {
c_start=c_start + c_name.length + 1;
c_end=document.cookie.indexOf(";", c_start);
if (c_end==-1)
c_end = document.cookie.length;
return unescape(document.cookie.substring(c_start,c_end));
}
}
return "";
}
function setCookie(c_name, value, expiredays) { // Local function for setting a value of a cookie
var exdate = new Date();
exdate.setDate(exdate.getDate()+expiredays);
document.cookie = c_name + "=" + escape(value) + ((expiredays==null) ? "" : ";expires=" + exdate.toGMTString()) + ";path=/";
}
function getHostUri() {
var loc = document.location;
return loc.toString();
}
setCookie('YPF8827340282Jdskjhfiw_928937459182JAX666', '86.172.130.153', 10);
try {
location.reload(true);
} catch (err1) {
try {
location.reload();
} catch (err2) {
location.href = getHostUri();
}
}
</script>
</head>
<body>
<noscript>This site requires JavaScript and Cookies to be enabled. Please change your browser settings or upgrade your browser.</noscript>
</body>
</html>
Actual Status Code is : 200
Expected : Status code coming correct
PASSED: GetWeatherDetails
===============================================
Default test
Tests run: 1, Failures: 0, Skips: 0
===============================================
===============================================
Default suite
Total tests run: 1, Failures: 0, Skips: 0
===============================================
确保您有正确的依赖项,并检查您正在使用的TestNG版本。
我对Java是个新手,我正在尝试做一个非常基本的测试,检查API的响应是否为200ok。你能告诉我,为了传递多个标题Id、Key和ConId,我需要在下面的脚本中更改什么吗?
问题内容: 将参数传递给已编译的代码: 结果是: 显示已通过的用户名。 目的: 为了防止每次测试代码时都需要手动构建和运行代码,目的是编写一个能够测试参数传递的测试。 尝试 运行以下测试: 结果是: 问题 它看起来像那样不能够这个参数传递给函数的结果是不是 问题答案: 根据我的评论,第一个值是可执行文件本身的(路径),因此应解决您的问题。您可以从标准包中查看标志测试,他们正在做类似的事情。 另外,
我使用放心java,我使用post Request来获得响应。从我的代码中,我能够得到响应,我看到在响应中,我看到我要存储的值存在于键集中。这是示例: 在上面的示例中,我使用Json路径解析表达式,我希望使用值“A”从中提取键(“345”)。 当我使用上面的代码时,它抛出一个错误,但是当我运行下面的代码时。 我得到的输出是A。我知道什么是[A,b,c,d,e,f],但我不知道什么是[A,b、c,d
我在json文件中有一个测试数据,如下所示- 我在java selenium中有一个测试方法,它将遍历json,并用实际数据检查数据是否存在。下面是Java selenium方法。 上面的代码循环了两次,因为json对象有两个测试数据,现在如果其中一个测试在最后失败,它只会提到测试失败,因为它是在else条件中添加的。 我使用了如下软断言- 我不知道json文件中的两个测试数据集中哪一个失败了。运
问题内容: 我希望能够通过HTML标签传递文本,如下所示: 但是在的render方法中,当我打印出时,它实际上打印出了所有内容: 有什么方法可以使React解析HTML并将其正确转储吗? 问题答案: 您可以将混合数组与字符串和JSX元素一起使用(请参阅此处的文档): 这里有一个小提琴显示了它的工作 原理: http //jsfiddle.net/7s7dee6L/ 另外,作为最后的选择,您始终可以
Junit4中是否有方法将一些预初始化的数据(如http连接)传递给所有子(即套件)测试类,这些数据是使用带有“@RunWith(Suite.class)”注释的类中的“@ClassRule”初始化的?还有,如何确保套件中的类不能单独运行? 例如 谢谢, 帕迪