首页 随笔 乐走天涯 程序资料 评论中心 Tag 论坛 其他资源 搜索 消息中心 联系我 关于 RSS

第1节 自动模拟测试程序的实现


日期: 2000-07-03 14:00 | 联系我 | 关注我: SteemIT, Twitter, Google+

  前言: 很多初学 windows 编程的朋友, 大多搞不清 WINAPI 函数的工作方式。 如果您要成为一名熟练的Windows 程序员,想通过程序员这个职业赚钱, Make more money, 那么就不得不熟悉 WINAPI。 自动模拟/测试程序的实现,对于 Windows 编程新手了解 windows 窗口机制很有帮助。

  写一个好的软件,系统设计是必需的,在一些大中型的软件设计中,这点尤为重要。我们所要实现的自动测试程序,要简单的实现,代码量并不是很长,我写的时候也只是在纸上写了几个功能要求,也没有做什么规划。不过为了有一个良好的开始,有必要在这里讲解一下。

  在你写这个程序之前,首先要考虑程序将有一些什么样的功能。我们写的模拟程序支持应该以下功能:

  1. 自动启动程序/自动关闭程序。这是模拟程序在无人值守时的一个重要功能。要实现定时启动、定时关闭、出错重启等。
  2. 鼠标自动移动/点击、自动输入测试数据。这是自动模拟程序最重要的功能。如果没有这两个功能,也就不叫模拟软件了。为了达到模拟的目的,我们必须模拟出 Mouse 的移动和点击、键盘的数据录入,以达到自动测试的效果。
  3. 对于 Web 方式的测试程序,还应该支持自动切换网址。切换到一个新的网址有两种方式,一种是鼠标击击了超链接,另一种是在地址栏内输入网址。
  4. 自动关闭错误窗口以及异常窗口。在自动模拟测试的时候,如果输出了错误的测试数据,系统有可能出现各种错误窗口,如“警告”、“错误”、“程序执行了非法操作”等,我们必须在程序中检测到此类错误并将其关闭,必要时,还应该将其记录 Log 文件,以供分析。
  5. 程序状态的识别。在自动测试的环境下,操作系统环境、网络环境、错误的数据录入,可能会导致程序出现异常而停止运行。我们应该检测到此状态,将其关闭,并重新登录运行。
  6. 联网报警/自动报警/日志记录。无人值守时应该自动记录各种异常状态。这对初期长时间测试程序很有用。联网报警在这样一种情况下写的:我晚上一般要在自己的机器上写程序,由于测试数据要很长时间才能出来,所以把软件装在其他的几台机器上了,如果程序出错或 Windows 当机了,我自己的机器就能收到警报,然而再去处理。——免得老是隔那么久就跑去瞧一瞧。当然,也可以通过声卡或扬声器报警。
  7. 其他功能。其他的一些功能就是一些杂项了。例如把程序隐藏到系统托盘(tray)区域,提供热键支持、定时关机等。

  功能就这么些。当然,你也可以下载一些其他的类似软件,看看他们提供了一些什么样的功能,哪些功能是你所必需的,哪些功能你会比他们做得更好;他们的操作界面是怎样的,等等。

  对于界面,一定要友好简洁。我的界面就三个操作按钮一个状态信息框。如果你的界面设计得较复杂,可以用属性页的方式来控制。

  其他几点应该注意的一些问题:

  1. 要有良好的编程风格。对于一个好的程序员来说,其程序不但要求高效、简洁,还要可读性强。例如变量命名,我们不提倡"a1,a2,a3,aa,bb"的这种命名方式。

  2. 关于API的应用。

      编写此类程序不可避免要与Win API打交道。

      1> 在C/C++中,可以直接调用API函数。

      2> 在DELPHI中,也可以直接调用API函数。但部分API函数和Delphi自带的重名,例如ClientToScreen,调用这些重名API时,要如下:windows.ClientToScreen.

      3> 在VB/PB中,需要用Declare Function声明。

      例如 退出windows/重新启动的API函数ExitWindowsEx(),函数原型如下:

      BOOL ExitWindowsEx( UINT uFlags, DWORD dwReserved );

      在VB中则需声明如下:

      Declare Function ExitWindowsEx Lib "user32" Alias "ExitWindowsEx" (ByVal uFlags As Long, ByVal dwReserved As Long) As Long

  声明

程序在讲解过程中以C为基础,某些地方会兼顾讲解Delphi的用法。但由于用Delphi和VB搞开发是在很前的事,技术细节疏忘了许多,因此,朋友们若问我关于Delphi/VB方面的技术问题,可能无法给你满意的回答,建议你去相关的主页查询或去主页论坛咨询。对于涉及界面开发的一些简单问题,恕不能一一回答。

  如果你有什么问题或建议,请到论坛提出。

标签: VC 源码 | WINAPI

 文章评论
目前没有任何评论.

↓ 快抢占第1楼,发表你的评论和意见 ↓

发表你的评论
如果你想针对此文发表评论, 请填写下列表单:
姓名: * 必填 (Twitter 用户可输入以 @ 开头的用户名, Steemit 用户可输入 @@ 开头的用户名)
E-mail: 可选 (不会被公开。如果我回复了你的评论,你将会收到邮件通知)
网站 / Blog: 可选
反垃圾广告: 为了防止广告机器人自动发贴, 请计算下列表达式的值:
7 x 3 + 1 = * 必填
评论内容:
* 必填
你可以使用下列标签修饰文字:
[b] 文字 [/b]: 加粗文字
[quote] 文字 [/quote]: 引用文字

 
首页 随笔 乐走天涯 猎户星 Google Earth 程序资料 程序生活 评论 Tag 论坛 资源 搜索 联系 关于 隐私声明 版权声明 订阅邮件

程序员小辉 建站于 1997 ◇ 做一名最好的开发者是我不变的理想。
Copyright © XiaoHui.com; 保留所有权利。