看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测试的,有兴趣的通知可以读一读。

SilkTest高级进阶系列6-motif tag的更多相关文章

  1. SilkTest高级进阶系列7-用PostMessage模拟鼠标

    SilkTest可以通过调用Windows API来向控件发送消息,从而进行特定的操作.下面这段code使用PostMessage来向计算器上的清除键发送WM_LBUTTONDOWN和WM_LBUTT ...

  2. SilkTest高级进阶系列8 – 放下榔头,立地成佛

    在地球尚未毁灭的某天,手动测试的同事找到你所在的自动组,问是否可以帮助他们自动化一个需要连续添加100个条目的测试用例,因为他们觉得这是一个噩梦.你口头上说要先烟酒烟酒才能知道,但是内里早就满心欢喜: ...

  3. SilkTest高级进阶系列9 – 异步执行命令

    我们常常会使用sys_execute函数执行一些外部的程序或者命令来做一些事情,但是由于sys_execute是一个同步的函数,它会等待执行的命令完成后才会返回.在大多数情况下,这个函数足够用了. 但 ...

  4. SilkTest高级进阶系列10 – bitmap工具bitview

    SilkTest 提供了一个bitmap的工具,它可以帮助我们捕捉,比较bitmap文件.该bitmap工具的位置是~/SilkTest/bitview.exe 运行该工具后,你会发现它提供了捕捉控件 ...

  5. 高级T-SQL进阶系列 (一)【上篇】:使用 CROSS JOIN 介绍高级T-SQL

    [译注:此文为翻译,由于本人水平所限,疏漏在所难免,欢迎探讨指正] 原文连接:传送门 这是一个新进阶系列的第一篇文章,我们将浏览Transact-SQL(T-SQL)的更多高级特性.这个进阶系列将会包 ...

  6. C#进阶系列——一步一步封装自己的HtmlHelper组件:BootstrapHelper

    前言:之前学习过很多的Bootstrap组件,博主就在脑海里构思:是否可以封装一套自己Bootstrap组件库呢.再加上看到MVC的Razor语法里面直接通过后台方法输出前端控件的方式,于是打算仿照H ...

  7. C#进阶系列——一步一步封装自己的HtmlHelper组件:BootstrapHelper(三:附源码)

    前言:之前的两篇封装了一些基础的表单组件,这篇继续来封装几个基于bootstrap的其他组件.和上篇不同的是,这篇的有几个组件需要某些js文件的支持. 本文原创地址:http://www.cnblog ...

  8. C#进阶系列——MEF实现设计上的“松耦合”(二)

    前言:前篇 C#进阶系列——MEF实现设计上的“松耦合”(一) 介绍了下MEF的基础用法,让我们对MEF有了一个抽象的认识.当然MEF的用法可能不限于此,比如MEF的目录服务.目录筛选.重组部件等高级 ...

  9. C#进阶系列——DDD领域驱动设计初探(五):AutoMapper使用

    前言:前篇搭建了下WCF的代码,就提到了DTO的概念,对于为什么要有这么一个DTO的对象,上章可能对于这点不太详尽,在此不厌其烦再来提提它的作用: 从安全上面考虑,领域Model都带有领域业务,让Cl ...

随机推荐

  1. jquery validate 插件使用小结

    项目中整合了jquery validate插件,仿照别人的使用写了我的表单验证,结果不起作用.然后就各种找原因. 在网上下了jquery validate插件的完整包,看了看里边的例子,跟我的使用貌似 ...

  2. 【Unity 3D】使用 2DToolkit 插件 制作2D精灵动画

    话说博客传图也太麻烦了吧,一个一个文件一个一个传....为什么不能直接粘贴了,自动上传呢... 刚直接粘贴了,结果一张图没有,又重新截一次图,在传了一次...真是太**了 好了,吐槽完了,开始博客吧 ...

  3. PHP - 日期与时间

    第10章 日期与时间 学习要点: 1.PHP日期和时间库 使用PHP编程时,与你遇到的大多数其他类型的数据相比,日期和时间有很大不同.因为日期和时间没有明确的结构,并且日期的计算和表示也很麻烦.在PH ...

  4. NSThread的一些细节

    1.NSThread创建方式(一个NSThread对象就代表一条线程)1.1>创建\启动线程(1)线程一启动,就会在thread中执行self的run方法NSTread *thread = [[ ...

  5. http://www.cutt.com/

    简网APP工场-服务介绍 服务介绍

  6. javascript 学习资料网址一览

    1.http://www.runoob.com/ 2.https://developer.mozilla.org/zh-CN/ 3.http://www.imooc.com/   视频类

  7. tar打包过滤某个文件及文件夹

    ip=ip add|grep eth0|grep -i inet|awk '{print $2}'|cut -d '/' -f 1 cd /data tar -zvcf `echo $ip`_`dat ...

  8. 基本HTML5文件结构

    作者 : Dolphin 原文地址:http://blog.csdn.net/qingdujun/article/details/28129039 基本HTML5文件结构: <!--<!D ...

  9. 一百多道.NET面试题!

    1.a=10,b=15,在不用第三方变量的前提下,把a,b的值互换 方法一: a=a+b;  b=a-b;  a=a-b;  方法二: a^=b^(b^=a^b);  2.已知数组int[] max= ...

  10. ASP.NET - 禁用ViewState

    默认情况下,ViewState是被启用的,比如提交表单后,表单中输入的值会自动保留.但是如果不需要保留,也可以将其禁用,这样可以节省资源.   下面3种方式就可以分别禁用某一个控件.某一个页面和整个应 ...