看SilkTest代码的时候不小心看到winclass.inc里面的一些类申明使用的是motif tag,例如:
[-] winclass MessageBoxClass : DialogBox
[ ] setting DontInheritClassTag = TRUE
[+] PushButton OK
[ ] tag "OK"
[+] PushButton Cancel
[ ] tag "Cancel"
[+] PushButton Yes
[ ] tag "Yes"
[+] PushButton No
[ ] tag "No"
[+] AnyWin Icon
[ ] msw tag "[Icon]#1"
[-] StaticText Message
[ ] tag "#2"
[ ] motif tag "#1"
搞不明白,这个motif tag "#1"是什么意思,网上搜了下,原来这个tag是专门为在motif平台上面的该类型申明的,也就是说在motif平台上的MessageBoxClass中的Message静态文本控件使用的是 #1这个tag来识别,如果我们是windows平台,就用 #2 。那么什么是motif平台呢?
如果你了解silktest的历史的话,就知道silktest不仅支持windows平台还支持unix和linux平台下的测试。这个motif就是指一种GUI,它的介绍可以在百度上找到,我就照抄了这里:
Motif 最初是由 OSF(开放基金协会)开发的一个工业标准的 GUI(图形用户接口)。1996年,OSF 与 X/Open 合并为 Open Group,1997年初,X 联盟结束,并将其归属的项目移交给 Open Group。Open Group 继续开发和支持X窗口 系统,Motif,CDE,和其他技术。2000年5月15日,Open Group 使用公共许可证向开放原代码团体发布了 Motif 的原代码。在开放系统(如 Linux)上,可以使用免费的 Motif。
Motif 最先实现并运行于支持X窗口系统上,它是UNIX系统的主要用户接口。目前已经应用于超过200种硬件和软件平台。Motif GUI Toolkit推动了异种机和网络环境下的应用开发,各种机器包括便携机、PC、工作站、超级计算机都得益于 Motif 环境下的应用程序一致的行为和视感。用 Motif GUI 开发的应用软件具有高度的可移植性、可交互性、以及可伸缩性。
这里有一份文档是专门讲如何在motif平台上作silktest测试的,有兴趣的通知可以读一读。