作者: Max.Bai
时间: 2012/12
Script case 在Advance的Script下面,添加Script Unit就添加了一个Unit 文件,这个Unit 文件就可以编写代码了,当然代码的语言是创建project 的时候就已经选择好了的。
Unit Case
任何一个方法,过程都可以被当成Case 来执行
Unit Reference
文件之间的引用和调用需要用 USEUNIT unitName 来include。
当然Testcomplete也有界面操作来完成引用。
界面操作:
1.选中需要添加引用或需要把被引用的Unit文件
2.右键-->Add Unit Reference,引用的对话框就打开了
3.选择引用的方式:
a) Add the following units to the “**” unit, 添加下列选择的unit到本unit
b) Add the ‘**’ unit reference to the following units, 添加本unit到下列选择的unit
4.选择需要添加的unit文件,OK, unit文件会自动添加引用代码到对应文件。
不同脚本语言用法也不同:
VBScript
'USEUNIT Unit1_Name
'USEUNIT Unit2_Name注意:必须在文件的开头,而且从第一个字符开始,不能有空格
DelphiScript
uses Unit1_Name, Unit2_Name;
JScript, C++Script and C#Script
//USEUNIT Unit1_Name
//USEUNIT Unit2_Name
- 只有VBScript 和 DeiphleScript 可以连环引用,就是互相引用,UnitA 引用UnitB, UnitB 引用UnitA, 其它语言不可以。
- 引用的层次不能超过3层,比如A引用B, B 引用C, 那么A就可以调用C中的方法。
- 如果有重复的方法名字,就必须使用unitName做前缀来调用方法, 例如: MyExtUnit.MyRoutine(Param1, Param2)。
- 当前Unit可以使用被引用unit中的变量,同名变量需要加UnitName做前缀加以区分,不然就当做当前Unit。
- VBScript 也可以通过ExecuteGlobal 方法来引用vbs文件进来,但是不可以使用里面的变量,只能调用里面的方法,方法如下:
Include "C:\automation\vv2.vbs" sub Include(sVbsFile) dim fso set fso=CreateObject("Scripting.FileSystemObject") ExecuteGlobal fso.opentextfile(sVbsFile,1).ReadAll set fso=Nothing end Sub
Variables
Unit 可以调用ProjectSuit, Project,KeywordTests,NetworkSuit中的变量和参数。
ProjectSuit.Variables.var1‘Temporary variable ProjectSuit.Variables.var2‘Persistent variable Project.Variables.var1 'Temporary variable Project.Variables.var2 'Persistent variable KeywordTests.KeyTest1.Parameters.par1 ‘KeywordTests 中keytest1 的参数 KeywordTests.KeyTest1.Variables.Var1‘KeywordTests 中keytest1 的变量
只有ProjectSuit, Project and NetworkSuit中的变量分 Temporary variable 和Persistent variable, 关键字里面的不区分,也只有关键字中的case 有parameter, 其它都没有。
Temporary variable 和Persistent variable 区别:
Temporary variable 只在case里面起作用,case外面不起作用,如果在case里面修改了,下一个case使用时变量值会恢复默认值。
Persistent variable 如果在case里面修改后,下一个case使用时就是上一个case修改过的值。