• 软件测试技术
  • 软件测试博客
  • 软件测试视频
  • 开源软件测试技术
  • 软件测试论坛
  • 软件测试沙龙
  • 软件测试资料下载
  • 软件测试杂志
  • 软件测试人才招聘
    暂时没有公告

字号: | 推荐给好友 上一篇 | 下一篇

自动化测试工具TestComplete7介绍

发布: 2009-7-31 10:24 | 作者: 网络转载 | 来源: 领测软件测试网 | 查看: 1434次 | 进入软件测试论坛讨论

领测软件测试网

  第三方控件

  在TestComplete 7中,添加了很多第三方控件的支持,例如Developer Express XtraEditors 和 XtraBars 、Infragistics NetAdvantage 、Syncfusion Essential Studio 、MFC Feature Pack for Visual C++ 2008 、Telerik RadControls for ASP.NET等。

  第三方控件是自动化测试过程中碰到问题比较多的地方,TestComplete对众多第三方控件的支持无疑为其增色不少。在Grid类型的控件方面,TestComplete现在又添加了对以下控件的支持:

  Borland TStringGrid

  Developer Express XtraVerticalGrid、PropertyGridControl 和 XtraTreeList

  Microsoft MFC PropertyGrid

  Rogue Wave Stingray Objective Grid .NET

  Syncfusion GridControl 和 ScheduleGrid

  Xceed Grid for .NET

  尤其值得注意的是,TestComplete 7 现在支持采用Qt和wxWidgets框架构建的跨平台应用程序。TestComplete支持MinGW、Microsoft Visual Studio .NET 2003, Microsoft Visual Studio 2005 和Microsoft Visual Studio 2008编译的Qt4.5程序。

  另外,如果碰到一些自定义的.NET和WPF控件,还可以使用TestComplete提供的SDK来开发插件,这些插件可以大大提供TestComplete与自定义控件的交互能力。

  测试命令行应用程序

  正当大家在为TestComplete对新技术的支持如此神速而惊叹的时候,TestComplete7还不失时机地添加了对命令行程序的扩展支持。这对于大家测试一些遗留的骨灰级程序,或者是一些后台服务器上的一些应用程序会比较有用。

  TestComplete 7为我们提供了一种比较特别的命令行应用程序测试的方式,可通过类似于如下所示的代码来访问命令行应用程序的窗口:

  Set p = Sys.Process("MyApp")

  Set w = p.Window("ConsoleWindowClass", "*")

  ...

  然后,可以通过如下方式向命令行应用程序发送字符串,就像在命令行中敲入命令一样:

  Set p = Sys.Process("MyApp")

  Set w = p.Window("ConsoleWindowClass", "*")

  Call w.Keys("MyString [Enter]");

  ...

  下一步就是获取命令行应用程序的响应了,在TestComplete中可以通过wText来获取,下面代码展示了一个完整的小例子:

  Sub MyTest

  Dim p, w, txt, cnt, i, s

  Set p = Sys.Process("MyApp")

  Set w = p.Window("ConsoleWindowClass", "*")

  Call w.Keys("MyString [Enter]")

  ' 获取命令行窗口的文本

  txt = w.wText

  ' 指定分割符

  aqString.ListSeparator = vbNewLine

  ' 获取文本列表的长度

  cnt = aqString.GetListLength(txt)

  For i = 0 To cnt - 1

  ' 获取一行文本的字符串

  s = aqString.GetListItem(txt, i)

  ' 把字符串写入日志

  Call Log.Message(s)

  Next

  End Sub

  这种方式获取的是所有文本,如果想以一种交互式的方式来测试命令行应用程序的话,还可以利用WScript.Shell,例如下面的代码所示:

  Sub Main

  Dim WshShellObj, WshShellExecObj, out

  Set WshShellObj = CreateObject("WScript.Shell")

  Set WshShellExecObj = WshShellObj.Exec("cmd.exe")

  ' Flush the stream

  out = readTillChar(WshShellExecObj, ">")

  Log.Message(out)

  ' Send the "ver" command and the new line character

  WshShellExecObj.StdIn.Write("ver"+VbCrLf)

  out = readTillChar(WshShellExecObj, ">")

  Log.Message(out)

  End Sub

  Function readTillChar(WshShellExecObj, endChar)

  Dim out, curChar

  Do While Not WshShellExecObj.StdOut.AtEndOfStream

  curChar = WshShellExecObj.StdOut.Read(1)

  out = out + curChar

  If (curChar = endChar) Then

  readTillChar = out

  Exit Function

  End If

  Loop

  End Function

GUI Explorer

  除了上面一些主要的改进和新特性外,TestComplete 7 还在很多细节的地方做了改进和提高,在Object Browser中,添加了一个GUI Explorer小工具,GUI Explorer可以帮助我们查看应用程序GUI界面控件的层次结构,例如,下图展现的是Google主页的GUI界面控件的层次结构:

  GUI Explorer可以让我们观察界面上的对象,不管它是可见的还是隐藏的。在GUI Explorer中,窗体控件被画成亮灰色,非窗口控件则画成暗灰色,不可见的控件都是白色的,对于隐藏的控件,则画出其边界。

  新加入了Table变量类型

  TestComplete7引入了一个新类型的变量 – Table,其实就是一个二维数组。

  Table可以在Project、Project Suites和Keyword test中使用。例如,下面的代码展示了如何访问Table中的数据:

  Sub getTableData

  columnCount = Project.Variables.Var1.ColumnCount

  rowCount = Project.Variables.Var1.RowCount

  For I=0 to rowCount-1

  For J=0 to columnCount-1

  Log.Message(Project.Variables.Var1.Item(J,I))

  Next

  Next

  End Sub

  小结

  TestComplete 7 的亮相给我们带来不少惊喜,例如对关键字测试的支持(虽然还有待改进,但是毕竟迈出了第一步)、对PDA、RIA应用的支持等。

  此外,TestComplete一如既往地保持对新技术、工具、编译器的及时支持,例如:IE8被及时地支持了,CodeGear RAD Studio 2009也被及时地支持了。在TestComplete 7 中,除了Microsoft 的Visual Studio Team System 和 AutomatedQA自己的 AQdevTeam外,现在还支持把bug录到开源Bugzilla(看来金融危机下,开源的东西开始被重视起来了)。

延伸阅读

文章来源于领测软件测试网 https://www.ltesting.net/

33/3<123

关于领测软件测试网 | 领测软件测试网合作伙伴 | 广告服务 | 投稿指南 | 联系我们 | 网站地图 | 友情链接
版权所有(C) 2003-2010 TestAge(领测软件测试网)|领测国际科技(北京)有限公司|软件测试工程师培训网 All Rights Reserved
北京市海淀区中关村南大街9号北京理工科技大厦1402室 京ICP备2023014753号-2
技术支持和业务联系:info@testage.com.cn 电话:010-51297073

软件测试 | 领测国际ISTQBISTQB官网TMMiTMMi认证国际软件测试工程师认证领测软件测试网