QAF - Web 服务测试不从 XML 获取 Xpath 值

问题描述

我正在尝试使用 QAF 3.0 进行 Web 服务测试 下面是我用于测试的 BDD。

Scenario: [WS-2]_[222-xml]_Sample XML Webservices
    When I request api "get.mock.xml.menu"
    Then I check api response status code is "200"
    And I check api response status is "OK"
    And I check api response should have xpath '/breakfast_menu'

前三行执行没有任何问题。我在内部调用 QAF Wsstep。

注意:Json 路径验证工作正常,没有任何问题。

步骤定义:

@QAFTestStep(description = "I check api response should have xpath {xpath}")
public static void iCheckApiResponseShouldHaveXpath(String xpath) {
    Wsstep.responseShouldHaveXpath(xpath);
}

解决方法

在您的情况下,breakfast_menu 是根节点,因此它将被视为上下文(根)并且可以作为 . 访问。您应该能够使用以下 xpath:

.
./food
//food
./food/name
./food[name='Belgian Waffles']
//food[name='Belgian Waffles']
//*[name='Belgian Waffles']