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

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

在Silktest中自动添加打印机

发布: 2008-9-17 15:57 | 作者: Whisper | 来源: 网络 | 查看: 160次 | 进入软件测试论坛讨论

领测软件测试网
首先来看一个动态连接库文件: Printui.dll
点击开始->运行,输入:
rundll32 printui.dll,PrintUIEntry [options] [@commandfile]

Rundll32.exe 可以帮助我们运行dll文件,printui.dll后面的逗号,其实说明的是入口点:PrintUIEntry。
后面的选项以及@commandfile详情只要输入
rundll32 printui.dll,PrintUIEntry /?
即可


在自动测试的过程中,我们经常会遇到这样一种情况:

在遍历dialog的时候,需要测试有/无安装打印机时软件的反馈。
那么在Silktest中怎么实现呢?

在Silktest中,有一个命令:Sys_Execute:
Syntax
iReturn = SYS_Execute (sCmdLine [, lsOutput])

iReturn :The return value of the command. INTEGER.
sCmdLine :The command to execute. STRING.
lsOutput :[Optional.] A variable to hold any text written to stdout when sCmdLine runs. LIST OF STRING.

这个命令执行一个命令行命令。并且把退出结果返回给返回值。所有的命令输出被写入IsOutput。简单的说,你可以把这个命令完全当作windows的命令行工具来用,他就和Windows键+R 一个效果。
说道这里大家肯定都想到了:利用这个命令,利用Windows Rundll32.dll,调用Printui.dll的函数,就可以拉。于是非常简单的:

[-] void AddNetworkPrinter (string printername)
[ ]SYS_Execute("Rundll32 printui.dll,PrintUIEntry /in /n {printername}")

这个函数将调运Rundll32 通过它访问printui.dll的PrintUIEntry函数,传递 /in /n {printername} 其中{printername}是你在定义里给出的string pritername

当然,除了Sys_Execute我们还有其他的方法。(实际情况是,SYS_EXECUTE这个函数,不怎么完善...) 我们可以在silktest的脚本中,直接加载dll,因此有如下方法:

[-] dll "kernel32.dll"
[ ] //INT WinExec (String sPath, int iWinType)
[ ] INT WinExec (LPCSTR sPath, UINT iWinType)
[-] void AddNetworkPrinter (string printername)
[ ] // Example: AddNetworkPrinter("\\printserver\printer")
[ ] Winexec("rundll32 printui.dll,PrintUIEntry /in /n{printerName}", SW_SHOWMINIMIZED)

其实都是一样的。只是列在这里说明使用dll "xxxx.dll"的方法。其中的 WinExec,可以自行参照MSDN.这里不再赘述。

延伸阅读

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

TAG: silktest SilkTest SilKtest Silktest SILKTEST 自动


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

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