SilkTest天龙八部系列4-ChildWin
一直觉得SilkTest的ChildWin不好理解,今天大致看了一下,其实它和DialogBox每啥区别,也是一种window类型。帮助里面说,典型的ChildWin就是文档窗口。在Windows上, ChildWin是MDI (多文档接口multi-document interface)子窗口,可以在main window中被最大化,最小化,调整大小的窗口,一般地,childwin有一个系统菜单。
下面是一个打开silktest onlinehelp define window的例子,原来的 define window是DialogBox,现在把它改成childwin一样能够被silktest识别出来。(具体区别请对照上一篇 SilkTest天龙八部系列3-动态父窗口)
[+] testcase DynamicParent()
[ ] SilkTestHelp.SetActive()
[ ] SilkTestHelp.Bookmark.Define.Check()
[ ] sleep(1)
[ ] SilkTestHelp.bookmarkdefine.Close()
[ ] sleep(1)
[ ]
[+] window MainWin SilkTestHelp
[-] multitag "SilkTest Help"
[ ] "$C:/WINDOWS/winhlp32.exe"
[+] Menu File
[ ] tag "File"
[+] MenuItem Open
[+] multitag "Open"
[ ] "$1101"
[+] MenuItem PrintTopic
[+] multitag "Print Topic"
[ ] "$1103"
[+] MenuItem Exit
[+] multitag "Exit"
[ ] "$1105"
[+] Menu Edit
[ ] tag "Edit"
[+] MenuItem Copy
[+] multitag "Copy"
[ ] "$1203"
[+] MenuItem Annotate
[+] multitag "Annotate"
[ ] "$1202"
[+] Menu Bookmark
[ ] tag "Bookmark"
[+] MenuItem Define
[+] multitag "Define"
[ ] "$1301"
[+] Menu Options
[ ] tag "Options"
[+] Menu KeepHelpOnTop
[ ] tag "Keep Help on Top"
[+] MenuItem Default
[+] multitag "Default"
[ ] "$1470"
[+] MenuItem OnTop
[+] multitag "On Top"
[ ] "$1471"
[+] MenuItem NotOnTop
[+] multitag "Not On Top"
[ ] "$1472"
[+] MenuItem DisplayHistoryWindow
[+] multitag "Display History Window"
[ ] "$1453"
[+] Menu Font
[ ] tag "Font"
[+] MenuItem Small
[+] multitag "Small"
[ ] "$1462"
[+] MenuItem Normal
[+] multitag "Normal"
[ ] "$1460"
[+] MenuItem Large
[+] multitag "Large"
[ ] "$1461"
[+] MenuItem UseSystemColors
[+] multitag "Use System Colors"
[ ] "$1465"
[+] Menu Help
[ ] tag "Help"
[+] MenuItem Version
[+] multitag "Version"
[ ] "$1503"
[+] MenuItem AboutWinHelp2000
[+] multitag "About WinHelp 2000"
[ ] "$10001"
[+] CustomWin MS_WINTOPIC1
[ ] tag "[MS_WINTOPIC]$0"
[+] CustomWin MS_WINICON1
[ ] tag "[MS_WINICON]$0"
[+] PushButton HelpTopics
[+] multitag "Help Topics"
[ ] "$-1[1]"
[+] PushButton Back
[+] multitag "Back"
[ ] "$-1[2]"
[+] PushButton Print
[+] multitag "Print"
[ ] "$-1[3]"
[+] CustomWin Wh98NavPane1
[ ] tag "[Wh98NavPane]$999"
[+] CustomWin AfxWnd42s1
[ ] tag "[AfxWnd42s]$999[1]"
[+] PageList PageList1
[ ] tag "$998"
[+] StaticText StaticText1
[ ] tag "$65535"
[+] CustomWin Index
[+] multitag "[AfxWnd42s]Index"
[ ] "[AfxWnd42s]$999[2]"
[+] TextField TextField1
[ ] tag "$14003"
[+] TreeView TreeView1
[ ] tag "$14005"
[+] PushButton Display
[+] multitag "Display"
[ ] "$14004"
[ ] window bookmarkdefine = BookmarkDefine
[ ]
[ ]
[+] window ChildWin BookmarkDefine
[ ] tag "../Bookmark Define"
[+] StaticText BookmarkNameText
[+] multitag "Bookmark name:"
[ ] "$65535"
[+] TextField BookmarkName1
[+] multitag "Bookmark name:"
[ ] "$102"
[+] ListBox BookmarkName2
[+] multitag "Bookmark name:"
[ ] "$103"
[+] PushButton OK
[+] multitag "OK"
[ ] "$1"
[+] PushButton Cancel
[+] multitag "Cancel"
[ ] "$2"
[+] PushButton Delete
[+] multitag "Delete"
[ ] "$104"
SilkTest天龙八部系列4-ChildWin的更多相关文章
- SilkTest天龙八部系列1-初始化和构造函数
SilkTest没有提供专门的构造函数机制,但是在类对象生成的过程中,会先初始化在类中申明的变量.我们可以在初始化该变量的时, 调用某些函数完成对象初始化工作,看上去好像是调用了构造函数一样.不过要记 ...
- SilkTest天龙八部系列3-动态父窗口
SilkTest中用parent语句来声明某个window的父窗口,这会帮助silktest在识别该对象时检查其是否是由该父窗口打开,如果parent语句申明的父窗口并不存在,那么该对象无法被正确识别 ...
- SilkTest天龙八部系列5-类的属性
SilkTest的面向对象机制让用户可以为类定义属性,用property语句实现.除此以外用户在类中还可以定义成员变量和不可变的setting属性.也就是是说Silktest类中可以有以下三种属性/变 ...
- SilkTest天龙八部系列6-用open agent进行测试
SilkTest支持两种测试模式,一种是用classic agent,另一种就是用我们今天要介绍的open agent. open agent可以提供和classic agent差不多的录制回放功能. ...
- SilkTest天龙八部系列7-动态对象识别
在测试web应用时,我们常常需要面对web页面对象变化频繁,并且使用预定义方式识别对象慢的困难.为了解决这些问题,SilkTest引入了dynamic object recognition技术,它使用 ...
- SilkTest Q&A 5
Q41.VerifyBitmap的问题. 我正在使用函数VerifyBitmap比较位置,边,颜色等,例如: Window.VerifyBitmap("Position.bmp", ...
- SilkTest高级进阶系列6-motif tag
看SilkTest代码的时候不小心看到winclass.inc里面的一些类申明使用的是motif tag,例如: [-] winclass MessageBoxClass : DialogBox [ ...
- SilkTest高级进阶系列8 – 放下榔头,立地成佛
在地球尚未毁灭的某天,手动测试的同事找到你所在的自动组,问是否可以帮助他们自动化一个需要连续添加100个条目的测试用例,因为他们觉得这是一个噩梦.你口头上说要先烟酒烟酒才能知道,但是内里早就满心欢喜: ...
- SilkTest高级进阶系列7-用PostMessage模拟鼠标
SilkTest可以通过调用Windows API来向控件发送消息,从而进行特定的操作.下面这段code使用PostMessage来向计算器上的清除键发送WM_LBUTTONDOWN和WM_LBUTT ...
随机推荐
- easyui源码翻译1.32--Droppable(放置)
前言 使用$.fn.droppable.defaults重写默认值对象.下载该插件翻译源码 源码 /** * jQuery EasyUI 1.3.2 * *翻译:lbq --放置 拉伸 */ (fun ...
- Delphi编写自定义控件以及接口的使用(做了一个TpgDbEdit)
写给觉得自己编写Delphi很复杂的人,包括自己. Delphi自己写控件其实并不难,难的在于开发复杂的控件.(其实,编程,很多东西都是会了就不难,因此,我怕自己日后觉得自己写控件很难,特意在这记录自 ...
- 判断微信内置浏览器的UserAgent
要区分用户是通过"微信内置浏览器"还是"原生浏览器"打开的WebApp, 可以通过navigator.userAgent来进行判断. 以下是对各种平台上微信内置 ...
- 绕过kernel模块版本校验检测
kernel module version check bypass . 举例说明 . 内核是怎么实现的 . 怎样去突破 . 总结 . 举例说明 Linux内核版本很多,升级很快,2个小内核版本中内核 ...
- JAVA线程优化
Java并发编程:线程池的使用 在前面的文章中,我们使用线程的时候就去创建一个线程,这样实现起来非常简便,但是就会有一个问题: 如果并发的线程数量很多,并且每个线程都是执行一个时间很短的任务就结束了, ...
- poj1054The Troublesome Frog
链接 想O(n*n)的DP 怎么想都超内存 看讨论有说hash+DP过的 实现比较繁琐 大部分直接暴力过了 直接枚举每个i j 与他们在一条线上的点 是不是给出的点 注意它必须能跳进和跳出 #inc ...
- mapreduce源码分析总结
一 MapReduce概述 Map/Reduce是一个用于大规模数据处理的分布式计算模型,它最初是由Google工程师设计并实现的,Google已经将它完整的MapReduce论 文公开发布了.其中对 ...
- [转] acmer必看的26个对acm态度
acmer必看的26个对acm态度 转载自:http://www.cppblog.com/Darren/archive/2009/08/03/92099.html Attempt Keep on ...
- [swustoj 585] 倒金字塔
倒金字塔(0585) Time limit(ms): 3000 Memory limit(kb): 65535 Submission: 208 Accepted: 48 Description S ...
- AndroidStudio旧模板使用方法
***AndroidStudio旧模板使用方法*** 解压后用BlankActivity文件夹替换AndroidStudio安装目录下plugins\android\lib\templates\act ...