【问题标题】:How to use a runtime variable in FitNesse如何在 FitNesse 中使用运行时变量
【发布时间】:2019-01-17 10:29:32
【问题描述】:

假设我有以下 FitNesse 页面:

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

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

一些资源提到了 SLIM 风格,但我不知道如何在我的情况下实现这一点: Using data from fitnesse table as a variable

【问题讨论】:

  • 您可以通过将!define TEST_SYSTEM {slim} 行添加到使用您的fixture 的页面的父页面(即套件页面)来将测试系统切换到“slim”。但这也可能会影响您的夹具和测试表(看起来像一个“脚本表”)。你能分享你的夹具代码吗?

标签: qa fitnesse fitnesse-slim


【解决方案1】:

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

假设您有用于 DB 的 Fixture,并且有一个名为“执行查询”的方法将返回查询结果。

将值设置为变量“myname”,以便我们可以在另一个夹具表中用作“@{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 |

使用变量“我的名字”:

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

不确定 set 的特征是否是 fitmente default impl 的一部分。或我们公司的实施。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-04-27
    • 1970-01-01
    • 2016-08-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多