Python写自动化之设置Windows自动登录

来源:互联网 发布:淘宝网舞蹈鞋 编辑:程序博客网 时间:2024/05/29 10:44

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

首先,看下Windows如何实现自动登录,看下如何手动操作吧,百度经验:http://jingyan.baidu.com/article/54b6b9c0d7bf6c2d583b47f2.html

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

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

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

0 0
原创粉丝点击