excel - 如何在 UFT 中始终使用基于公式的 Excel 单元格值?
问题描述
我正在使用 UFT 从 excel 中读取测试数据。单元格 A1 有数据:=RANDBETWEEN(2,7) 单元格 A2 有数据:=A1 单元格 A2 指向 A1。
每次我打开 excel 文件时,我都会看到 A1 中生成了新值,然后 A2 显示相同。打开 excel 时,值保持不变。
UFT 打开 excel 文件时,A1 和 A2 始终不一样。我认为当 UFT 读取 A2 时,它会再次生成新值。每次 UFT 打开 excel 文件时,我都希望在两个单元格中看到相同的值。这些值应该在文件打开时固定。
我试过:
Excel > 文件 > 选项 > 计算选项 > 选择手动 > 未选中“保存前重新计算”。
它没有解决问题,UFT 似乎忽略了这个标志。
每次 UFT 打开 excel 文件时,如何在 A1 和 A2 中具有相同的值而不不断更改值?
解决方案
您刚刚发现 UFT 在包含公式的 Excel 工作簿中惨遭失败。仅支持非常简单的公式。
即使支持 RANDBETWEEN(我认为:不支持),您迟早会发现 UFT 无法评估公式,除非是非常琐碎的情况。
建议的解决方法是:在您的 UFT 测试中,如果您需要“新”评估公式的最新结果,请使用 Excel 自动化界面启动 Excel 实例(可能不可见),并使用它打开您的工作簿,将所有值(不是公式)复制到新工作簿,并以不同的名称保存该工作簿。然后使用不包含任何公式的新工作簿作为 UFT 中的数据源。
在 UFT 中,这可能需要不到 60 行 VBScript 代码,它会永远解决您的问题,无论您将来选择使用哪种公式。
推荐阅读
- r - 向量从0到非零多少次
- uwp - 如何创建 Windows 10 设置应用程序(沉浸式控制面板)小程序?
- c++ - 如何在c ++中找到对向量中的最小元素?
- c - 在变量参数函数中使用字符串指针
- java - 定期调用 Web 服务
- java - 多个 volatile 变量之间的同步
- php - 遵循规则-“if”语句需要调用一个函数而不是有一个主体'-我坚持在 3 种方法之间进行选择
- arrays - Excel - 计算多列中一对值的出现次数
- mysql - 每天将oracle数据库的查询结果存入MySql数据库
- c# - Amazon MarketplaceWebService (c#):缺少卖家所需的 MWSAuthToken