界面自动化测试工具-Ksend

  • Ksend介绍
    • 概述
  • Ksend新增特性
    • 窗口信息功能增强
    • IE页面分析功能
    • 实现机制
  • Ksend使用介绍
    • 批语句发送功能
    • TCL语言发送功能
    • 键盘捕获和回放功能
    • 窗口信息
    • 网页分析
    • 其他说明
  • 应用举例
    • 多telnet自动登录
    • 批量路由添加
    • 自动计算器
    • WEB自动登录

Ksend介绍

概述

Ksend是一个自动化工具,可以应用于自动化测试、设备维护等领域,它可以模拟后台文本消息的发送、模拟键盘和鼠标动作、并能进行简单的windows界面、IE页面的分析和控制等。
Ksend的主要功能:
 文本发送功能:将文本分行发送至指定的一个或多个文本窗口,可以控制发送的延时;
 支持键盘、鼠标的录制和重放;
 支持TCL语言控制,可以利用TCL语言控制键盘、鼠标、界面及文本的发送;
 可以利用TCL语言分析、捕获和控制窗口;
 支持IE页面的分析和控制;
应用场景:
命令行维护、测试:可以通过TCL语言或批语句将维护或测试命令发送到telnet终端、DOS窗口、串口终端等窗口,实现自动化的配置和维护。比如添加10000条路由、10000条ACL等参数遍历的维护和测试;可以进行局域网地址的连通性遍历测试;可以用于设备的批量升级维护等等。
界面维护、测试:可以利用程序中扩展的TCL语句对界面进行控制,比如在WEB界面添加1000个用户、自动发送Notes邮件等等。

Ksend新增特性

窗口信息功能增强

增加对combox、listbox、listview、treeview窗口的内容捕获功能,在“窗口信息”页面,如果捕获的类型是上述的页面,则可以显示页面的内容:

上图显示的是浏览器中捕获的信息,窗口类型为listview,行数为8行,列数为4列,各列之间以TAB键隔开。

IE页面分析功能

增加对IE页面的分析功能,由于IE页面与普通的windows界面存在着很大的差别,需要特别处理:

1)TCL扩展命令
增加如下TCL扩展命令:
2)Window界面控制
tcombo:Combox控件(下拉框)中的条目选择
tlistbox:ListBox控件(列表框)中的条目选择
tlistview:ListView控件(报表框)中的条目选择
wclose:关闭相应句柄的窗口
tbmp:桌面截图,保存为文件
3)IE界面控制
iopen:打开指定的网址
iset:设置页面元素中的信息
iclick:链接、按钮点击
iget:获取页面元素中的信息
iselect:选中/去选单选框、复选框
4)其他
增强krec、trec、krecf、trecf命令,使其能够获取combox、listbox、listview、treeview窗口控件的内容。

实现机制

Ksend的一个重要功能是向各windows窗口发送文本字符,实现这个功能有两种方式,一种是windows的消息传递,另一种是键盘模拟。
消息传递是通过PostMessage函数在Ksend程序和目标窗口程序之间进行文本消息的传递,这种方式不会占用键盘事件,因此在这种方式下,用户可以在发送文本的同时进行其他鼠标和键盘操作,比如在Ksend发送时可以正常的写Word文件,收发Notes邮件等,对用户没有影响。
键盘模拟方式是模拟用户的键盘输入,使用这种方式的原因是因为有些界面、控件(如WEB中的输入框)无法用Ksend进行捕获,无法进行消息传递,只能使用键盘进行模拟输入,此种方式会占用键盘事件,在文本模拟输入过程中,如果用户进行界面、键盘、鼠标操作,将会影响输入的内容。
Ksend中同时存在上述两种实现方式,其中采用消息传递方式的有:
 批语句发送功能;
 TCL扩展语句中的大多数语句:tsend、tput、tout、ksend、ksendkey、krec、trec、trecf、krecf、crecf、win、gettop、findw、findcw、getmtext、getmhwnd、getmhwndxy、getmtextxy、tsendkey、buttondown、winclose、winwaitopen、winwaitclose。
非消息传递方式或会影响用户当前操作的语句有:
键盘、鼠标模拟语句和一些扩展的TCL语句。
扩展TCL语句:
 settop:将某个窗口置顶
 msgbox:显示对话框
鼠标模拟语句:
 mouse_ld:鼠标左键按下
 mouse_lu:鼠标左键松开
 mouse_rd:鼠标右键按下
 mouse_ru:鼠标右键松开
 mouse_md:鼠标中键按下
 mouse_mu:鼠标中键松开
 mouse_lclick:鼠标左键单击
 mouse_rclick:鼠标右键单击
 mouse_mclick:鼠标中键单击
 mouse_dbclick:鼠标左键双击
 mouse_move x y:鼠标移动至屏幕坐标x,y处
 mc_move 窗口句柄 x y:鼠标移动至窗口内坐标x,y处
键盘模拟语句:
 key_press keycode:键盘按键一次,keycode为键盘码(1~254)
 key_down keycode:键盘按下,不松开
 key_up keycode:键盘松开
 key_send 字符串:向当前窗口输出字符串

Ksend使用介绍

批语句发送功能


程序打开的界面如上,分为三栏:配置、批语句、发送。
配置栏用于批量语句的自动生成,比如要向DOS窗口发送“ping 192.0.0.1”~ “ping 192.0.0.254”等254条语句,如果一个一个输入的话效率很低,此时可以用配置功能生成,在“初始语句”栏输入“ping 192.0.0.(*)”,在“处理”一栏选第2个选项,替换符从1到254,然后点批语句栏中的“语句生成”按钮,就会在批语句文本框中生成所需要的字符串。


在初始语句中可以输入多行,比如需要在ping语句后执行tracert命令,则在初始语句中输入“ping 192.0.0.()”和“tracert 192.0.0.()”两条语句,通过上下键盘可以切换语句,然后点语句生成,结果如下图所示:

如果不需要语句生成功能,可以直接在批语句的文本栏输入要发送的语句,或者可以从文件中读取,也可以将批语句文本栏的文本存盘。
批语句输入后,需要将语句发送到相关的窗口,这时需要对目标窗口进行手工捕获,捕获的操作方式为拖动下图中的放大镜图标到相应的窗口即可:


具体操作:在放大镜图标上按住鼠标左键,鼠标图标会变为放大镜图标,此时不要松开鼠标,移动鼠标到目标窗口上(比如DOS窗口),然后放开鼠标,就会将此时鼠标下方的窗口捕获。在鼠标移动的过程中,鼠标下方的窗口边框会高亮显示,并且可以看到程序标题栏也会发生变化,它指示的是当前鼠标下的窗口句柄:

另外鼠标移动过程中还有一个变化的地方是“窗口捕获”栏的颜色和“开始发送”按钮下的文本,它指示的是当前鼠标位置的颜色和具体的十六进制数值,利用此功能可以获取屏幕上的颜色值:

如上图表示当前鼠标指向的颜色为深蓝色,蓝色分量数值是0xA5,绿色分量数值是0x49,红色分量数值是0x42。
窗口捕获后,会将捕获的窗口显示在“发送窗口列表”当中:

如果想将文本同时发往多个窗口,需要选择“多窗口发送”选项,再按上面的方法进行多个窗口的捕获。

所有窗口捕获后,可以设置每行的发送间隔时间和每个字符间的间隔时间(有些窗口如超级终端反应较慢,字符发送太快会出现丢字符的现象,因此需要设置字符间的间隔时间),然后点“开始发送”按钮进行文本的发送。
在发送过程中可以点“停止”按钮停止发送,停止按钮和开始发送按钮为同一个按钮。
如果要去除已捕获的窗口,只需在发送窗口列表中点右键,就会有相应的菜单处理:

其他选项:
自动回车/换行:在发送一行后是否自动发送回车/换行符
总在最顶层:保持ksend在windows的最上层,不被其他窗口覆盖,此选项对所有的页面(TCL页面、键盘鼠标页面等)都有效,在某些情况下,需要去除此选项。
循环:对生成或读取的语句进行循环发送
使用说明:批语句发送功能的帮助按钮

*如果用户想对延时时间进行单独的控制,可以使用delay语句:
可以通过在批语句中添加#delay命令人工增加延时,#delay语法:
#delay 延时的毫秒数
毫秒数的有效范围为1~60000,即最多可延时一份钟。
例如延时1秒钟的语句为:#delay 1000

TCL语言发送功能

使用批语句进行文本的发送有很多不灵活的地方,比如要发送从1~10000的数字,就必须先构造出相应的文本;一些非文本的控制符(如F1、CTRL、ALT等)也无法发送;还有就是发送前必须捕获相应的窗口等等,而使用TCL语言控制就可以解决上述的问题。
TCL语言发送界面如下:

TCL语言发送界面也分为三栏:TCL语言窗口、执行窗口、发送窗口。
TCL语言窗口用于编辑TCL脚本,TCL语言的关键字和扩展命令的关键字在窗口中会以红体字显示,注释语句以‘#’字符开头,显示为蓝体字,扩展TCL命令的帮助在“语法说明”按钮页面中列出。用户可以对编辑的TCL语言文件存盘,也可以读入原来存盘的TCL文件。“使用举例”按钮页面中有一些常用脚本的例子,对于不太熟悉TCL语法的用户可以进行参考,快速入门,其实语法还是比较简单的。
TCL语言是一种脚本描述语言,在TCL语言执行前不会对TCL语句进行编译,因此如果有几条TCL语句,其中有一条存在错误,那么在此条错误语句之前的TCL语句会被执行,在错误语句处TCL执行会停止。
执行窗口栏用于显示语句发送时的信息(tsend、tput等语句)以及TCL语法错误提示等。
发送窗口栏与批语句发送的功能基本一致,不过与批语句发送不同的是,批语句发送必须将目标窗口捕获到发送窗口列表当中,但TCL语言发送可以通过语句直接发送到目标窗口,比如使用“ksend”语句,它的语法是 “ksend 目标窗口句柄 字符串”,目标窗口的句柄可以通过移动“窗口捕获”栏中的放大镜图标到目标窗口处得到:

然后通过ksend语句发送,比如“ksend 66944 test123”。
也可以通过findw、findcw语句搜索窗口标题得到,比如下面的TCL语句:

先通过findw语句寻找窗口标题中含有“记事本”字符的窗口,然后将窗口的句柄存入变量i,再在此窗口中通过findcw语句寻找子窗口类型为“Edit”的子窗口,将子窗口的句柄存入b变量,然后通过ksend语句将字符串“test123”发送给子窗口。
*需要注意的是,用“ksend”语句发送字符时,窗口句柄应该为窗口内可输入控件的句柄(上例在变量b中),而不是整个窗口的句柄(变量i),子窗口的类型可在第4个页面“窗口信息”中查询或直接用窗口捕获功能查询。另外关闭再打开同一个程序,其窗口句柄是会发生变化的。
TCL语句编辑完成后,可以点“执行发送”按钮进行TCL命令的执行,在执行过程中可以点“暂停/恢复”按钮来控制执行的过程,也可以点停止发送按钮来中断执行过程。
另外在TCL语言发送窗口还增加了一些选项,具体作用如下:
 “执行前最小化”:因为Ksend的TCL语句可以控制键盘和鼠标操作,有时ksend自身的
界面会对程序的执行造成干扰,选中此选项可以在TCL执行前会将ksend自身的界面最小化。
 “执行时禁止屏保”:选中此选项在TCL执行过程中会禁止系统的屏幕保护,以免影响TCL语句执行,在长时间运行时有用,TCL执行完毕后,会自动恢复系统的屏幕保护设置。
 “窗口列表”:当前系统的窗口名及句柄列表。
 “快捷键”:在一些长时间的键盘、鼠标模拟过程中,如果中途想暂停或中止模拟是一件比较困难的事,尤其是键盘、鼠标模拟动作比较频繁的时候,这时,我们可以通过快捷键暂停或中止TCL语言的执行。缺省的“执行/停止”快捷键是“F2”,“暂停/恢复”快捷键是“F3”,用户可以自己进行修改设置。
*TCL语言模拟键盘和鼠标功能可以手工编写,也可以从屏幕录制中导入(在第3个页面“鼠标/键盘信息中”),一些键盘的键值和鼠标的定位位置也可以在第3个页面获得。
TCL发送字符间隔的延时时间和批语句发送的字符间隔时间一致。
具体的TCL扩展命令(包括语句发送、键盘/鼠标模拟、界面控制等)请参考本文的第4节。

键盘捕获和回放功能

键盘、鼠标模拟一般用于界面方面的维护和测试,或者应用于一些无法使用消息传递机制的场合。其功能界面如下:

功能界面分为两块:鼠标定位和键盘码对照。
键盘码对照主要应用在如下几个TCL扩展命令:
tsendkey、ksendkey、key_press、key_down、key_up
它们都需要以键盘码作为命令的参数。其中tsendkey、ksendkey为消息传递机制,key_press、key_down、key_up为键盘模拟机制。
鼠标定位栏中有“录制”按钮,点此按钮进行鼠标和键盘(包含了对键盘的录制)的录制,录制时,ksend界面缩小为屏幕右下角的一个小框:

在框中会实时显示鼠标当前的位置,此位置值可以用于“mouse_move”扩展命令。
点击停止后,录制的键盘和鼠标动作会在界面左边显示:

此时点“脚本生成”按钮,会将键盘和鼠标动作转换为TCL语言格式:

点击“拷贝至TCL窗口”按钮,则会将脚本拷贝至第二个页面(TCL语言发送),用户可以对脚本进行编辑、优化、执行,比如上面录制的是一个【鼠标点击windows开始菜单,然后输入“CMD”命令】的脚本。在录制时,键盘是单个字符捕捉的,即按“CMD”三个键需要6个动作:按下键盘C、松开键盘C、按下键盘M、松开键盘M、按下键盘D、松开键盘D,中间还有延时语句。我们可以对上面的脚本进行优化,将按“CMD”的动作用key_send语句完成:“key_send CMD”。key_send是模拟键盘发送字符串的扩展命令。
另外鼠标的点击动作也是分解的(先鼠标按下,再鼠标松开),我们可以将它用mouse_lclick(鼠标左键单击)命令合并,最后优化的脚本如下:

如果想循环上述操作,只需要将上述语句放入for语句循环中即可。
编辑完成后,可以点TCL界面的“执行发送”按钮进行键盘和鼠标的模拟。
键盘、鼠标动作录制完成后,也可以用“回放”按钮进行动作的简单回放操作。
功能界面上还有一个“细节捕获” 选项,去掉此选项后,程序只捕捉鼠标单击和键盘单击操作,这样脚本量会大大减少,但对于一些复杂操作比如按住鼠标选中一段文本,按Ctrl+C组合键复制文本等动作会被遗漏。由于上述的输入CMD命令的操作比较简单,我们可以去除“细节捕获”选项,其录制的结果如下:

可以看出,其脚本量相对于前次录制的脚本量大大减少。
键盘、鼠标模拟时,延时是一个比较关键的参数,太短的延时可能会导致错误,延时通过after语句完成,延时单位为毫秒,如“after 1000”表示延时1秒钟。

窗口信息

窗口信息功能主要用于分析窗口和子窗口中的控件信息,为“findw”、“findcw”等窗口扩展命令服务,其功能界面如下:

首先拖动“窗口捕获”中的图标选择目标窗口,选中的窗口边框会高亮显示,放开鼠标后,会显示窗口内的子窗口标题和类型,子窗口类型值可以在“findcw”命令中应用。
上图中的窗口信息显示的是windows记事本的窗口信息,可以看出,它包含了两个子窗体,一个为Edit类型,就是我们平时输入文本的地方,一个是msctls_statusbar32类型,即记事本的状态栏;需要注意的是,如果要用“ksend”的命令发送文本字符到记事本窗口,句柄应该为Edit控件的句柄(上面为394254),而不是记事本窗口的句柄(459784)。另外如果关
闭记事本再重新打开,窗口句柄是会发生变化的。
另外此功能界面还有一些附加功能,如更改窗口标题和属性等等。
当捕获的窗口类型为Combo、Listbox、Listview、Treeview时,子窗口列表中会显示这些窗口中的条目内容:

网页分析

一个WEB页面是由一系列的WEB元素组成,WEB元素包括了我们常见的URL链接、输入框、表单、按钮、文本等等。每一个元素都有其独特的标识和属性,当我们想通过程序操作WEB元素时,首先要做的是WEB元素识别。一些常见WEB元素的属性如下:
一个WEB页面是由一系列的WEB元素组成,WEB元素包括了我们常见的URL链接、输入框、表单、按钮、文本等等。每一个元素都有其独特的标识和属性,当我们想通过程序操作WEB元素时,首先要做的是WEB元素识别。一些常见WEB元素的属性如下:
链接: 链接测试
复选框:
单选框:
下拉框:

Test1
Test2
Test3

列表框:

测试1
测试2

输入框:
按钮:
表单:

上面的红体字部分表示了页面元素的类型,比如“href”就表示此页面元素是一个链接,“radio”则表示此元素是一个单选框。蓝体字部分表示的是识别此页面元素的ID或名字,假如一个页面中有多个输入框,要区别每个输入框,我们就需要通过输入框的名字或ID来进行区分,如:“name = "typeinme"”。 查看元素属性的一个方法是查看WEB页面的源代码(IE菜单“查看”-“源文件”),但效率较低,ksend的页面分析功能提供了一个更简单的方法来获取各个元素的属性。 比如我们需要对百度的网页进行分析: ![在这里插入图片描述](https://img-blog.csdnimg.cn/20210113163359920.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L0dvbGRlblJvbGFu,size_16,color_FFFFFF,t_70) 选取Ksend的“网页分析”,拖动放大镜图标到百度的输入框上,在Ksend界面会显示如下信息: ![在这里插入图片描述](https://img-blog.csdnimg.cn/20210113163421385.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L0dvbGRlblJvbGFu,size_16,color_FFFFFF,t_70) 输入框的属性为“”,再将图标拖动到搜索按钮上,可以显示按钮属性为“”。在图标移动过程中,元素信息可以根据鼠标所指的元素动态更新。 我们也可以修改页面上的元素属性,比如我们可以将“百度一下”按钮改名,在元素内容一栏,将“”改为“”,然后点“修改内容”按钮,页面就变成如下图形: 在捕获了WEB页面后,可以对页面进行一定程度的处理,比如使WEB页面可编辑、获取页面上的所有URL链接、设置页面背景色等等。 说明: 1、Ksend的网页分析功能只针对IE浏览器有效。 2、当我们想通过TCL扩展语法对WEB元素进行操作时,需要先捕获或查找WEB页面,一个WEB窗口的属性是“IEFrame”(可以通过Ksend的“窗口信息”查看),但真正的WEB页 面是其中的子窗口“Internet Explorer_Server”,所以我们要捕获的是类别为“Internet Explorer_Server”的页面句柄,而不是“IEFrame”的句柄。 捕获方法1: #先通过窗口标题找到WEB窗口 set i [findw “Huawei WebMail”] #再在WEB窗口中查找子窗口 set p [findcw $i "Internet Explorer_Server"] puts $p p就是我们要找的WEB页面句柄 3、在WEB页面中的下拉框、列表框与其他的页面元素不一样,它们是有自己的句柄的,其控件类型分别为“Internet Explorer_TridentLstBox”、“Internet Explorer_TridentCmboBx”,对它们需要和普通windows控件一样进行处理(如用tcombo控制选择条目)。 4、目前暂不支持Frame格式的嵌套页面。 ## TCL扩展语法说明 TCL扩展命令语法如下: ![在这里插入图片描述](https://img-blog.csdnimg.cn/20210113163855759.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L0dvbGRlblJvbGFu,size_16,color_FFFFFF,t_70) ![在这里插入图片描述](https://img-blog.csdnimg.cn/20210113163913704.png) ![在这里插入图片描述](https://img-blog.csdnimg.cn/20210113163931710.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L0dvbGRlblJvbGFu,size_16,color_FFFFFF,t_70) ![在这里插入图片描述](https://img-blog.csdnimg.cn/20210113164003255.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L0dvbGRlblJvbGFu,size_16,color_FFFFFF,t_70) ![在这里插入图片描述](https://img-blog.csdnimg.cn/20210113164020416.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L0dvbGRlblJvbGFu,size_16,color_FFFFFF,t_70) ![在这里插入图片描述](https://img-blog.csdnimg.cn/2021011316403722.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L0dvbGRlblJvbGFu,size_16,color_FFFFFF,t_70) ![在这里插入图片描述](https://img-blog.csdnimg.cn/20210113164053428.png) ![在这里插入图片描述](https://img-blog.csdnimg.cn/20210113164105648.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L0dvbGRlblJvbGFu,size_16,color_FFFFFF,t_70) ![在这里插入图片描述](https://img-blog.csdnimg.cn/20210113164123679.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L0dvbGRlblJvbGFu,size_16,color_FFFFFF,t_70)

其他说明

ksend程序同时支持命令行执行,如在Dos命令行下输入如下命令:
Ksend test.tcl
就可以在命令行执行test.tcl文件,无需进入程序界面,如需加路径,则按下面的格式:
Ksend c:\tcl\test.tcl
如果需要使用Package语句,需要将相关文件拷入程序执行文件所在的父目录中的LIB目录。比如Ksend程序在C:\test\bin目录,则被调用文件需要在C:\test\lib目录。

应用举例

多telnet自动登录

脚本功能说明:自动打开3个DOS窗口,并分别telnet 192.168.0.1~192.168.0.3等3个地址,自动输入登录密码“good”,登录后自动执行“dir”命令。
for { set i 1} {KaTeX parse error: Expected 'EOF', got '}' at position 5: i<=3}̲ {incr i} { #执行…i"
after 1000
#获取顶层窗口句柄,即刚打开的DOS窗口句柄
set j [gettop]
after 1000
ksend $j “good”
after 1000
ksend $j “dir”
after 1000
}
*注意:执行此脚本时,由于需要取顶层窗口的句柄,必须将ksend的“总在最顶层”选项关闭。
执行方式:将此脚本拷入TCL语言窗口,点“执行发送”即可。

批量路由添加

脚本功能说明:为计算机增加20条路由,从30.0.0.0到50.0.0.0。
#执行windows的CMD命令,打开DOS窗口
win cmd
#延时2秒,等待DOS窗口建立
after 2000
#获取顶层窗口句柄,即刚打开的DOS窗口句柄
set j [gettop]
for { set i 30} {$i<=50} {incr i} {
#执行路由添加命令
ksend $j "route add KaTeX parse error: Expected 'EOF', got '}' at position 51: …54" after 1000 }̲ 前面的DOS窗口建立和句柄捕…i<=50} {incr i} {
#执行路由添加命令
tsend “route add $i.0.0.0 mask 255.0.0.0 120.163.86.254”
after 1000
}
需要注意的是,有些窗口的字符不能发送太快,否则容易出现丢字符的现象,解决方法是增加行间延时时间和字符间间隔时间(行间延时通过after语句,字符间延时在第一个批语句发送页面中设置)。
同样的,可以用手工或自动的方式捕获其他的telnet、串口维护窗口,实现批量数据的配置和维护。

自动计算器

脚本功能说明:自动打开计算器程序,计算一段公式后自动关闭。
#提示用户是否启动程序
set i [msgbox 是否启动计算器程序 提示 4]
if {$i==7} {
msgbox 用户中止 提示 0
} else {
#启动计算器
win calc
#等待计算器窗口打开
winwaitopen 计算器
#发送公式
key_send 248*16=
after 2000
#关闭计算器窗口
winclose 计算器
winwaitclose 计算器

WEB自动登录

脚本功能说明:自动打开WEB页面,访问webmail并自动输入用户名、密码登录。
#打开IE窗口
win “C:\Program Files\Internet Explorer\IEXPLORE.EXE”
#延时等待
after 5000
#获取WEB窗口句柄
set i [gettop]
tput $i
#获取WEB页面句柄
set p [findcw $i “Internet Explorer_Server”]
tput $p
#打开网址
iopen $p “http://webmail”
after 3000
#输入用户名
iset $p name textfield y00118932
#输入密码
iset $p type password 123456
after 1000
#点击登录按钮
iclick $p type submit
after 1000
#关闭窗口
wclose $i

WEB窗口句柄的获取也可以通过窗口标题查找得到,可以将上面的“set i [gettop]”改为“set i [findw Webmail]”

界面自动化测试工具-Ksend相关推荐

  1. 开源/免费界面自动化测试工具对比研究

    摘要: 随着我行自动化测试实施范围的不断扩大,参与界面自动化测试的应用系统越来越多.我行的应用系统现阶段多采用商用工具QTP(UFT)作为执行工具来进行界面自动化测试,采购的QTP license是有 ...

  2. 软件测试实训|界面自动化测试工具Selenium IDE 录制回放

    Selenium IDE是安装在浏览器上的一个开源的Web自动化工具,是Selenium的一个组件.可以利用Selenium IDE录制页面操作来创建测试用例.录制并回放测试用例. 01 项目目的 掌 ...

  3. 【DevOps进行时】C/S端界面自动化测试:微软UIAutomation实践

    在界面自动化测试领域里存在许多流行的自动化测试工具,例如目前比较受欢迎的开源自动化工具Selenium.Katalon:HP旗下知名的商业软件Unified Functional Testing(更名 ...

  4. 自动化测试工具的选择

    随着自动化测试的发展,市场上涌现了多款自动化测试工具.其中,绝大部分是商业收费的工具,也有部分是开源工具.但是相对于收费的自动化测试工具,开源工具的功能与使用领域都要逊色很多.好多公司由于本身测试工作 ...

  5. 利用Visual Studio 2005的自动化测试工具来做数据导入

    * reference link: http://www.bentan.cn/Blog/Lists/Posts/Post.aspx?ID=3 1     引言 1.1         研究目标 在我们 ...

  6. 自动化电子测试软件,自主开发的MIL测试自动化测试工具

    37年,55颗卫星,就在今天北斗真的成功了. 上一篇简单文章中介绍了一下MIL测试的流程,本文章将介绍一个小编自主开发的MIL测试用的自动化测试工具. 目前国内主流测试工具主要有三种类型: 基于第三方 ...

  7. 安卓应用自动化测试工具汇总

    安卓应用自动化测试工具之一 - PerfectoMobile 该工具的官方网址:PerfectoMobile.com 背景:美国/以色列公司,该工具已有6年历史. 突出特点:测试脚本可以跨平台(And ...

  8. 超好用!5款开源的移动自动化测试工具

    如今,移动应用在企业的地位越来越重要,消费者对移动设备的要求也越来越高.为适应这一需求,测试团队必须在移动设备推出市场之前,对其性能进行一系列的评估和测试.然而,这是一个既耗时又耗资源的工作,尤其移动 ...

  9. http 测试工具_20+最好的开源自动化测试工具

    本文开始逐步的降低公众号更文频率,提升文章质量,帮忙多点点文章末右下角的"好看"支持下,也可以将本文分享到朋友圈或你身边的朋友,谢谢 最佳开源自动化工具有哪些呢? 在本文中,整理了 ...

  10. 前端自动化测试工具:SlimerJS、phantomJS 和 CasperJS

    对于富客户端的 Web 应用页面,自动登录.页面修改.抓取页面内容.屏幕截图.页面功能测试-面对这些需求,使用后端语言需要花费不少的精力才能实现.此时 SlimerJS.phantomJS 或 Cas ...

最新文章

  1. 广域网安全建设的思路和部署
  2. 使用 AjaxManager 生成调用服务器端方法的 javascript 函数
  3. 文件逆序改为正序脚本
  4. Python学习笔记:Day 7 编写MVC
  5. appium 的 android sdk
  6. Java8 Stream详解~聚合(max/min/count)
  7. GlobalSign 团队与世界领先的认证机构(CAs)合作 共同加强网络安全
  8. 【2012百度之星资格赛】J:百度的新大厦
  9. java组合与继承始示例_Java 9功能与示例
  10. centOS 8 操作系统下载与安装
  11. Dubbo 源码解析 —— Directory
  12. C++实现华氏温度转为摄氏温度
  13. 资深研发转变为架构师意味着什么
  14. vue3.0之写tsx语法
  15. MMORPG传奇类手游《空空西游》完整源码(客户端cocos2d-js+服务端pomelo+cocosStudio工程+搭建教程)
  16. 第五届蓝桥杯 软件类省赛真题 第八题:兰顿蚂蚁
  17. SQLite自动切换32位64位dll兼容32位和64位问题 X86 X64
  18. vue 项目 想修改代码严格模式 lintOnSave
  19. Leetcode算法Java全解答--19. 删除链表的倒数第N个节点
  20. 职场新人如何成为沟通高手

热门文章

  1. 端端Clouduolc的安全机制
  2. 背景色和背景图片共存,背景图片覆盖色
  3. Dot.js中添加函数用法
  4. 论文阅读:Negative Lexically Constrained Decoding for Paraphrase Generation
  5. can的总结——笑笑
  6. 全面的关于OLAP数仓总结
  7. 2019年培养工作室主力计划——第1次任务
  8. MacOS 苹果 快捷键
  9. 猫哥教你写爬虫 042--session的用法
  10. 上海小伙三次成功创业,资产达上十亿被称为“创业神童”