如何在 FitNesse 中使用运行时变量

How to use a runtime variable in FitNesse

假设我有以下 FitNesse 页面:

!| com.myproject.fitnesse.fixtures.SSHFixture |
| set host | ${hostSi1} |
| set port | ${port} |
| set user | ${user}  |
| connect |
| show | run command | pwd |
| disconnect |
www.<variable>.com

该页面包含一个 table 和一个 link。 table 将执行控制台命令 pwd。如何将该命令的结果保存在 FitNesse 变量中?然后我想在同一页面中使用该变量。例如在提到的 link.

一些资源提到了 SLIM 风格,但我不知道如何在我的案例中实现它: Using data from fitnesse table as a variable

@Fried Hoeben:是的,这是一个脚本。从我的同事那里得到了解决方案。

假设您有用于数据库内容的 Fixture,并且有一个名为 'execute query' 的方法,它将 return 查询结果。

将值设置为变量 'myname' 以便我们可以在另一个夹具 table 中用作“@{myname}”。

!| com.mystest.fitnesse.fixtures.DBFixture |
| set database | ${dbName} |
| set username | ${dbUser} |
| set password | ${dbPassword} |
| connect | ${dbType} | to | ${dbUrl} | database | ${dbPort} |
| set | myname | execute query | SELECT name FROM customer WHERE id = 1 |
| disconnect |

变量的使用'myname':

!| com.mytest.fitnesse.fixtures.SSHFixture |
| set host | ${host}                   |
| set port | ${port}                   | 
| set user | ${user}                   |
| connect                              |
| show     | execute|echo @{myname} |  
| disconnect                           |

不确定 set 的功能是否是 fitnesse default impl 的一部分。或我们公司的实施。