登录python自动化_Python写自动化之设置Windows自动登录

在某些情况下,测试过程会涉及到操作系统的重启过程,比如说测试操作系统重启后,程序的启动时间评测;这时如果操作系统设置了用户名密码的情况下,就会涉及到如何实现Windows的自动登录。

了解了手动操作的过程,自动化中如何实现呢?修改注册表......

ok,看下HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\Winlogon项下,含有默认用户名、密码、是否自动登录等信息,那么只需要保存用户名密码到此项下,系统就可以自动登录了,看下代码:

def SetAutoLoginWin(username,password):

"""

| #设置window自动登录

"""

key = None

syswow = os.getenv("windir")+"\\SysWOW64"

for i in range(2):

try:

if os.path.exists(syswow):

key = _winreg.OpenKey(_winreg.HKEY_LOCAL_MACHINE, r"Software\Microsoft\Windows NT\CurrentVersion\Winlogon", 0, _winreg.KEY_ALL_ACCESS|win32con.KEY_WOW64_64KEY)

else:

key = _winreg.OpenKey(_winreg.HKEY_LOCAL_MACHINE, r"Software\Microsoft\Windows NT\CurrentVersion\Winlogon", 0, _winreg.KEY_ALL_ACCESS)

except:

pass

if key:

break

else:

_winreg.CreateKey(_winreg.HKEY_LOCAL_MACHINE,r"Software\Microsoft\Windows NT\CurrentVersion\Winlogon")

try:

_winreg.SetValueEx(key,"DefaultUserName",0,_winreg.REG_SZ,username)

_winreg.SetValueEx(key,"DefaultPassword",0,_winreg.REG_SZ,password)

_winreg.SetValueEx(key,"AutoAdminLogon",0,_winreg.REG_SZ,"1")

_winreg.SetValueEx(key,"ForceAutoLogon",0,_winreg.REG_SZ,"1")

except:

return False

return True

同样,清除自动化登录操作,也比较简单,只需要将注册表项清除掉就OK了,代码如下

#清除window自动登录

def DelAutoLoginWin():

"""

| #清除window自动登录

"""

items=("DefaultUserName","DefaultPassword","AutoAdminLogon","ForceAutoLogon")

for item in items:

DeleteRegValue(r"HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\Winlogon",item)

这样,自动化中涉及到需要重启的操作时,我们就可以让系统自动登录,并继续执行脚本了···

转载请注明:http://blog.csdn.net/sogouauto

探索测试奥义,交流测试技术,欢迎关注“搜狗测试”

原文:http://blog.csdn.net/sogouauto/article/details/44622099

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值