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

在开发提供了添加日志版本的客户端后,开始尝试重现错误。 手工执行登录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自带的帮助手册。

时间: 2024-10-11 04:01:20

使用AutoIT实现自动登录/退出客户端软件,删除日志_autoit的相关文章

Yii2框架实现登录、退出及自动登录功能的方法详解

本文实例讲述了Yii2框架实现登录.退出及自动登录功能的方法.分享给大家供大家参考,具体如下: 自动登录的原理很简单.主要就是利用cookie来实现的 在第一次登录的时候,如果登录成功并且选中了下次自动登录,那么就会把用户的认证信息保存到cookie中,cookie的有效期为1年或者几个月. 在下次登录的时候先判断cookie中是否存储了用户的信息,如果有则用cookie中存储的用户信息来登录, 配置User组件 首先在配置文件的components中设置user组件 'user' => [ '

JavaWeb-过滤器Filter学习(三)实现用户的自动登录与IP黑名单过滤

实现用户的自动登录: 解决方案: 设置一个全站拦截的过虑器. 在此过虑器中,读取用户带过来的Cookie信息,然后从中读取用户的用户名和密码,自动帮助用户登录. 即可实现自动登录功能. 用Filter验证用户是否已经登录过.已经登录过了,我们就根据他选择的自动登录来选择让他在多久内能自动登录. IP黑名单过滤就很简单了,只要在Filter过滤器防范一下就OK. 在init方法中,我们先把黑名单的IP加载进Set<String> set集合, Set集合有如下特点: Java.util.Hash

在未加入域的客户端计算机上自动登录SharePoint Companyweb

公司的服务器是一台 Windows Small Business Server 2011 Standard,基 础业务平台基于 SharePoint 构建,其实就是一个简单的表库.内部加入到域的 客户端在访问 SharePoint Companyweb 站点时都能自动登录,唯独 gOxiA 的笔 记本电脑每次登录时都需要键入账号和密码,感觉非常麻烦,但又不想加入到域 中!那么有什么好的办法能够解决呢?! 计算机上自动登录SharePoint Companyweb-sharepoint 客户端"&

CentOS中用SSH客户端软件登录到服务器

当服务器的 SSH服务正常运行后,我们完全可以从此在我们的自用 PC上用 SSHhttp://www.aliyun.com/zixun/aggregation/5218.html">客户端软件在局域网中登录到服务器,用这种方式完成服务器以后的配置和维护.不严格的说,这时服务器是不需要显示器和键盘的,因为绝大多数的配置工作都可在远端(局域网内)的客户端上操控. 这里,以简单易用的 SSH客户端软件之一 -- PuTTY为例,介绍从自用 PC上登录到服务器的方法. 转换来自服务器端的私钥为Pu

php中session和cookie实现自动登录

  session的使用: session_start();定义$_SESSION数组变量. session_start()使用前,不能有任何形式的输出,包括php中的输出和html代码. $_SESSION数组不可以使用数值下标,只可以使用字符串下标. php.ini中的session_save_path配置项决定了session的保存位置. 默认情况下,session是保存在文件中.我们可以使用session_set_save_handler()函数来重写session机制. 设置有效时间

运行iChat或Adium但不自动登录的方法

  苹果iChat和Adium聊天软件默认一旦运行便自动登录,这样有2个问题: 1.几个人共用一台电脑的话,"自动登陆--退出--再换账号登陆" 很麻烦; 2.只想看iChat/Adium记录等东西是没必要登录的,被人骚扰也很不爽.下面介绍一个运行苹果iChat或Adium但不自动登录的方法. 长按"shift"键+点击苹果iChat/Adium图标,就可以启动iChat/Adium而不自动登陆.简单吧^_^,苹果哲学:Simple is good.

手机app减少用户输入次数的自动登录。

问题描述 手机app减少用户输入次数的自动登录. 就像QQ,微信那样用户只有在第一次登录的时候需要输入账户密码,以后关闭程序,只要不是手动退出登录就不用再次输入密码.服务端怎么做.求各路大神能给个详细点的解决方案,最后有实例demo,跪谢... 解决方案 手机app的话的 应该是客户端要做的工作吧,本地记录token 解决方案二: 本地文件记录账号密码和保留时间或者 加 sqlite 存本地数据. 解决方案三: 就类似于web的cookie 解决方案四: 在本地文件做个标记每次打开做个判断,应该

Linux环境下使用图形化界面的SVN客户端软件-RabbitVCS

如果想在Linux环境下使用图形化界面的SVN客户端软件,那么RabbitVCS绝对是首选,可以媲美Windows环境下用的TortoiseSVN,甚至连操作都基本一样,所以强烈推荐给各位童鞋. RabbitVCS基本支持所有的Linux发行版本包括Ubuntu.Debian.Fedora.Arch Linux.Gentoo.Mandriva.OpenSUSE.RHEL.CentOS 5等.其官网地址为http://www.rabbitvcs.org/ 在ubuntu下安装 首先添加源: sud

14款经典的MySQL客户端软件

不用我说,大家都知道Mysql是一个怎么样的数据库.虽然它的命运比较坎坷, 但是丝毫没有影响到我们对Mysql的热情.不论是个人程序或者网站,还是企业数据库,Mysql的身影无处不在.无论做什么数据库的开发, 一款 合适的客户端软件可以让你达到事半功倍的效果.下面就我自己使用mysql客户端的经验,再参考其他人的情况做如下汇总,希望对你的数据开发有所帮助. 1. EMS MySQL Manager 强大的mysql管理工具,允许用户通过图形界面创建或编辑数据库对象,并提供通过sql语句管理用户和