如何在Tricentis Tosca中读取Excel值并将其用作应用输入
Tricentis Tosca 读取自定义Excel范围值并传入目标应用操作指南
你完成Tbox Define Excel Range的范围配置后,按以下三步操作即可完成读值和传值,不需要额外写脚本:
- 前置配置校验
先确认已配置的Tbox Define Excel Range属性无错误,这是后续读值成功的前提:- 给
Range Name属性设置一个唯一的自定义名称,例如InputDataRange,后续读值会通过这个名称定位你定义的范围,不能留空 - 该步骤绑定的
Excel Instance值,必须和之前Tbox Open Excel Workbook步骤创建的Excel实例名完全一致,大小写、多余空格都会导致匹配失败 - 确认你填的
Start Cell、End Cell确实覆盖了需要读取的所有单元格
- 给
- 读取指定范围的Excel值
从Tbox Excel Modules库中拖入Tbox Read Excel Range模块,放在Tbox Define Excel Range步骤之后,按如下规则配置属性:Excel Instance:和前面打开Excel、定义范围步骤用的实例名保持一致Range Type:下拉选择Named Range选项,不要选默认的Cell/Range,否则之前自定义的范围配置不会生效Range Name:填入你在上一步Define Excel Range里设置的自定义范围名,比如前面举例的InputDataRangeBuffer:自定义一个缓冲区变量名,比如ExcelDataBuffer,读取到的范围内容会自动按Excel原生的行列结构存储到这个缓冲区里。
*如果读取的是多行多列范围,需要取范围内指定位置的值时,使用{B[缓冲区名][行号][列号]}语法即可,行、列索引均从1开始计数,例如{B[ExcelDataBuffer][2][1]}代表读取范围内第2行第1列的单元格值;如果读取的是单个单元格范围,直接引用缓冲区名即可拿到值。
- 将读取值传入目标应用
在你操作目标应用的测试步骤中,找到需要输入值的控件属性位,直接填入对应缓冲区引用即可:- 单值输入场景:直接填
{B[ExcelDataBuffer]},Tosca执行时会自动把读取到的Excel值替换到输入位 - 多值批量输入场景:搭配Tosca标准循环模块遍历缓冲区的二维表结构,逐行逐列把值传入目标应用对应字段即可,循环过程中可以通过循环变量直接调用当前行/列的读取值
- 单值输入场景:直接填
常见问题排查:如果执行时报范围不存在、读值为空的错误,优先检查三点:一是Define Excel Range和Read Excel Range之间有没有插入关闭Excel、切换Excel实例的操作,临时定义的范围在实例关闭后会直接失效;二是Range Name、Excel Instance的拼写有没有错误,是否存在多余空格;三是定义的起止单元格范围有没有包含目标值,不要漏选行/列。
内容的提问来源于stack exchange,提问作者Deepa Varghese
相关产品推荐
相关产品推荐

