Нет разницы, потому что вы используете тот же класс и метод. Импорт для первого примера будет:
import io.restassured.RestAssured;
Импорт для второго будет:
import static io.restassured.RestAssured.*;
И для обоих примеров вы можете сделать это:
RestAssured.baseUri = "http://www.example.com";
//Example 1
RestAssured.given().when().get().then().statusCode(200);
//Example 2
given().when().get().then().statusCode(200);
Я думаю, что работал вокруг этого. Конечно, полагаясь на внутренний MS связанные с Ajax ошибки не действительно хороши, но это добьется цели для поверхностей других с этой проблемой.
В основном то, что Вы делаете, является Вами, устанавливает заголовок X-MicrosoftAjax на значение Delta=true (случай важен здесь), ScriptModule интерпретирует это как нормальное перенаправление, и превратит ответ в 200, но установит pageRedirect строку данных для любого ScriptManager (Ajax MS PageRequestManager) на странице для потребления. Функция jQuery.ajax будет все еще рассматривать это как ошибку, так в основном можно проверить на pageRedirect в responseText свойстве XHR и hadle его соответственно. Как отправка пользователя к странице входа в систему чего-то.
$.ajax({
type: "POST",
url: postUrl + "/SomePageMethod",
data: "{searchString:\"" + escape(searchString) + "\"}",
contentType: "application/json; charset=utf-8",
beforeSend: function(xhr) {
xhr.setRequestHeader("X-MicrosoftAjax","Delta=true");
},
dataType: "json",
success: onSuccess,
error: onError
});
function onError(xhr, e, textStatus) {
var isAjaxRedirect = xhr.status == 200 && xhr.responseText.match(/pageRedirect/);
if (isAjaxRedirect == "pageRedirect") {
// forms authentication ticket expired
location.href = "a session timeout page, or a login page or whatever";
}
}