FitNesse:是否需要编写fixture来在测试页面上添加和使用变量

FitNesse: Is it required to write fixtures to add and use variables on test page

我正在尝试在 FitNesse 套件页面中添加 table 个变量及其值,以便它可以用于我的所有测试。

我正在使用 xmlHtttp 测试 SOAP Web 服务和 fhoeben/hsac-fitnesse-fixtures (slim) 为此。

添加一个table需要单独编写fixture吗?

是的,你可以。

Using a scenario allows us to generate multiple request, only changing certain values.

!*> Scenario definition
!define POST_BODY_2 { {{{
<s11:Envelope xmlns:s11="http://schemas.xmlsoap.org/soap/envelope/">
  <s11:Body>
    <ns1:GetCityWeatherByZIP xmlns:ns1="http://ws.cdyne.com/WeatherWS/">
      <ns1:ZIP>@{zip}</ns1:ZIP>
    </ns1:GetCityWeatherByZIP>
  </s11:Body>
</s11:Envelope>
}}} }

|script|xml http test|

|table template |send request                                                |
|post           |${POST_BODY_2} |to           |${URL}                        |
|check          |response status|200                                         |
|show           |response                                                    |
|register prefix|weather        |for namespace|http://ws.cdyne.com/WeatherWS/|
|$City=         |xPath          |//weather:City/text()                       |
*!

|send request       |
|zip  |City?        |
|10007|New York     |
|94102|San Francisco|

在此示例中,使用了变量 zip,因此发送请求时使用 10007 或 94102。