TestComplete/JScript- 在对象路径中使用变量
TestComplete/JScript- Using a variable in an object path
我正在使用 TestComplete 和 JScript 测试一个网页,该网页包含我声明为变量的元素,以便以后更容易测试该元素。他们都有这样的路径:
var check1 = Window.Panel(1).Panel(2).Panel(0).Panel(0).Panel(0).Panel(0).Panel(1).Panel(0).Label(0).Checkbox(0)
元素是动态的,所以在测试运行的时候不知道有多少。我希望有某种方法可以循环并声明元素,但它会涉及像这样声明元素:
var check1 = Window.Panel(1).Panel(2).Panel(0).Panel(0).Panel(0).Panel(0).Panel(1).Panel(0).Label(x).Checkbox(0)
其中 x 是计数器变量。问题是 TestComplete 将其视为文字路径并且不将 x 识别为变量。
有什么方法可以使用 JScript 对 TestComplete 执行此操作吗?或者将字符串转换为对象?我想我也可以使用它。
我的猜测是,由于您将引用存储在变量 check1 中,因此变量 x 已更新,但变量 check1 中的 x 仍保持其原始值 (1)。
解决方法
在变量中保持路径的第一部分静态,然后更新x并将其分配给标签。
var path = Window.Panel(1).Panel(2).Panel(0).Panel(0).Panel(0).Panel(0).Panel(1).Panel(0);
// path to the Checkbox
path.Label(x).Checkbox(0);
// or if you want to loop over it
for (var x = 0, len = 8; i < len; x += 1) {
if (path.Label(x).Checkbox(0).value === 'something') {
console.log('hooray!');
}
}
我正在使用 TestComplete 和 JScript 测试一个网页,该网页包含我声明为变量的元素,以便以后更容易测试该元素。他们都有这样的路径:
var check1 = Window.Panel(1).Panel(2).Panel(0).Panel(0).Panel(0).Panel(0).Panel(1).Panel(0).Label(0).Checkbox(0)
元素是动态的,所以在测试运行的时候不知道有多少。我希望有某种方法可以循环并声明元素,但它会涉及像这样声明元素:
var check1 = Window.Panel(1).Panel(2).Panel(0).Panel(0).Panel(0).Panel(0).Panel(1).Panel(0).Label(x).Checkbox(0)
其中 x 是计数器变量。问题是 TestComplete 将其视为文字路径并且不将 x 识别为变量。
有什么方法可以使用 JScript 对 TestComplete 执行此操作吗?或者将字符串转换为对象?我想我也可以使用它。
我的猜测是,由于您将引用存储在变量 check1 中,因此变量 x 已更新,但变量 check1 中的 x 仍保持其原始值 (1)。
解决方法 在变量中保持路径的第一部分静态,然后更新x并将其分配给标签。
var path = Window.Panel(1).Panel(2).Panel(0).Panel(0).Panel(0).Panel(0).Panel(1).Panel(0);
// path to the Checkbox
path.Label(x).Checkbox(0);
// or if you want to loop over it
for (var x = 0, len = 8; i < len; x += 1) {
if (path.Label(x).Checkbox(0).value === 'something') {
console.log('hooray!');
}
}