使用AutoIT实现自动登录/退出客户端软件,删除日志

随心笔谈2年前发布 编辑
152 0
🌐 经济型:买域名、轻量云服务器、用途:游戏 网站等 《腾讯云》特点:特价机便宜 适合初学者用 点我优惠购买
🚀 拓展型:买域名、轻量云服务器、用途:游戏 网站等 《阿里云》特点:中档服务器便宜 域名备案事多 点我优惠购买
🛡️ 稳定型:买域名、轻量云服务器、用途:游戏 网站等 《西部数码》 特点:比上两家略贵但是稳定性超好事也少 点我优惠购买


在开发提供了添加日志版本的客户端后,开始尝试重现错误。 手工执行登录20余次后,再次遇到登录失败,但开发说输出的日志不够详细,重新提交了一个编译版本。实在是不想再重复做登录操作,于是想到写一个自动化的脚本来实现手工过程:

1)输入用户名,密码,登录客户端

2)退出客户端

3)删除安装后的用户应用目录(每次用户登录后,都会生成一个用户的应用目录,删除是为了尽量接近全新安装客户端后再登录的情况)

首先想到的是QTP,但由于我的测试机之前就安装QTP 不成功,重装系统当然是来不及了。于是想到使用AutoIT来完成上面的需求,代码很简单,如下:

Run(“d:\安装目录\xxx.exe”)

; 沉睡sleep(毫秒),这是为了等用户登录的对话框出现

Sleep(2000)

; 等待客户端登录的对话框

WinWait(“登录框窗口名”)

; 在”用户”框中输入用户id,方法:ControlSend ( “窗口标题”, “窗口文本”, 控件ID, “字符串” [, 标志] )

ControlSend(“登录框窗口名”, “”, “Edit6”, “username”)

; 在”密码”框中输入密码

ControlSend(“登录框窗口名”, “”, “Edit7”, “passwd”)

; 点击”登录”按钮,方法:ControlClick ( “窗口标题”, “窗口文本”, 控件ID [, 按键 [, 点击次数 [, X坐标 [, ;Y坐标 ]]]] )

ControlClick(“登录框窗口名”, “”, “Button6”)

;等待5秒

Sleep(5000)

;等待登录成功后的客户端窗口出现

WinWait(“登录成功后的客户端窗口名”)

Sleep(5000)

WinClose(“登录成功后的客户端窗口名”)

;删除登录后生成的用户应用模具路

DirRemove(“C:\用户应用目录”, 1)

有了这个脚本,我们可以通过指定登录的次数来重现或验证缺陷是否修复。最后对开发第11次修改后的版本,重复运行登录50次,没有出现登录失败,表明该缺陷得到修复。如果采用手工测试,11个版本测试下来手估计都要断了,呵呵。

AutoIT提供了一个窗口信息工具来识别窗口或控件,用法很简单,可以参见autoit自带的帮助手册。

您可能感兴趣的文章:Python+AutoIt实现界面工具开发过程详解python+selenium+autoit实现文件上传功能AutoIt脚本的反编译和代码格式化问题分析autoit 更改个人文件夹的小工具AutoIt3和按键精灵的功能对比autoit入门教程小结autoit GUI相关知识Python selenium使用autoIT上传附件过程详解

© 版权声明

相关文章