|
假设在编写脚本测试时,被测软件只有一种语言(例如简体中文).到后期时需要再支持1种语言(比如英文).这时候当然希望在原有的脚本上作一些小的改动就能同时支持不同语言软件的自动化测试,也就是脚本能够重用,不用针对另外一种语言重新编写一套脚本.
此时存在2个与脚本重用有关的问题:
1 脚本中的各种窗口和菜单的内容可能与软件语言有关,例如在软件语言为简体中文时脚本语句如下:
Window("机票预订系统").Exist
当软件语言为英文时,以上语句执行就会失败,正确的应为:
window("Flight Reservation").Exist
此部分内容的重用,可用以下方法解决:
a 建立VBScript脚本,在脚本中定义表示窗口和菜单等与语言有关的内容的变量.例如在UI_ENU.vbs中定义如下:
Dim winFR
winFR = “Flight Reservation”
UI_CHS.vbs中定义如下:
Dim winFR
WinFR = “机票预订系统”
b 在QTP的脚本中根据系统语言载入不同的vbs文件
c QTP脚本中语句改为:
Window(winFR).exist
这种方法应该可行,当然还可能有其他方法可以达到同样的目的
2 Object Repository中的控件资源
如果控件在Object Repository中的识别属性与语言有关的话(例如Button的名称),那么当软件是简体中文时录制的脚本,在软件是英文时脚本运行就会找不到这个控件.我想请教大家如何解决这个问题(请注意是重用原来已经有的脚本,不是重新再写一个.)?难道要重新手动识别控件吗?
在winrunner中解决这个问题比较简单,因为winrunner有GUI文件来保存控件资源,只要在软件为不同语言时分别识别保存,然后在脚本中判断当前系统语言来调入不同的GUI文件即可.而在QTP中好像没有这种机制吧? |
|