Я хочу знать, как проверить метаданные с помощью XML-маршрута с помощью RESTassured. Я пытаюсь проверить службу OData и читать каждую деталь в метаданных. Я могу прочитать ответ Джона. Но я не могу разобраться в четком способе чтения метаданных. Также я хочу знать, что идентифицируется как узлы в метаданных.Как проверить метаданные с использованием пути XML в RESTasured
1
A
ответ
1
Ниже приведены шаги, обеспечивающие сохранение огурца для анализа простого документа XML OData.
package steps;
import java.util.List;
import com.jayway.restassured.path.xml.XmlPath;
import com.jayway.restassured.path.xml.element.Node;
import cucumber.api.java.en.Given;
import cucumber.api.java.en.When;
import static com.jayway.restassured.path.xml.XmlPath.*;
import static org.hamcrest.Matchers.*;
import static org.junit.Assert.assertThat;
public class ODataSteps {
String sampleXml = "";
@Given("^I have a simple service document$")
public void i_have_a_simple_service_document() {
sampleXml = "<?xml version=\"1.0\" encoding=\"utf-8\" standalone=\"yes\" ?>" +
"<service xml:base=\"http://services.odata.org/OData/OData.svc/\"" +
" xmlns:atom=\"http://www.w3.org/2005/Atom\"" +
" xmlns:app=\"http://www.w3.org/2007/app\"" +
" xmlns=\"http://www.w3.org/2007/app\">" +
" <workspace>" +
" <atom:title>Default</atom:title>" +
" <collection href=\"Products\">" +
" <atom:title>Products</atom:title>" +
" </collection>" +
" <collection href=\"Categories\">" +
" <atom:title>Categories</atom:title>" +
" </collection>" +
" <collection href=\"Suppliers\">" +
" <atom:title>Suppliers</atom:title>" +
" </collection>" +
" </workspace>" +
"</service>";
}
@When("^I search for available collections I find \"(\\d+)\"$")
public void i_search_for_available_collections_i_find(int expectedNumCategories) {
XmlPath xmlPath = new XmlPath(sampleXml);
final List<Node> collections = xmlPath.getList("service.workspace.collection", Node.class);
assertThat(collections.size(), equalTo(expectedNumCategories));
final List<String> collectionsStr = given(sampleXml).getList("service.workspace.collection.findAll {it.title.text()}", String.class);
assertThat(collectionsStr, hasItems("Products", "Categories", "Suppliers"));
}
}
Функция файл огурца JVM, которая вызывает описанные выше, выглядит следующим образом:
@odata
Feature: Demonstrate ability to test OData Service Documents
The Open Data Protocol (OData) enables the creation of HTTP-based data
services, which allow resources identified using Uniform Resource
Identifiers (URIs) and defined in an abstract data model, to be published
and edited by Web clients using simple HTTP messages.
@api
Scenario: Parse a canned OData Service document
Given I have a simple service document
When I search for available collections I find "3"
+0
Заранее вам за помощь – user3724599
Это помогло бы разместить пример XML, который вы пытаетесь разобрать. – MikeJRamsey56