Python写自动化之以不同优先级启动进程

在windows上的进程,可以设置优先级,如下图

那么,如果我们在自动化测试过程中,需要设置进程的优先级,,如何来做呢?

下面使用win32相关的接口实现此功能,代码如下:

# 获取用户句柄hToken = win32security.OpenProcessToken(win32api.GetCurrentProcess(), win32con.TOKEN_DUPLICATE | win32con.TOKEN_ADJUST_DEFAULT\|win32con.TOKEN_QUERY | win32con.TOKEN_ASSIGN_PRIMARY)hNewToken = hTokenauthority = 0x0002000if securityLevel != "":authority = 0x0002000if securityLevel.lower() == "low":authority = 0x0001000hNewToken = win32security.DuplicateTokenEx(hToken, win32security.SecurityImpersonation, 0, win32security.TokenPrimary, None)# 构建相应级别的sidsid = win32security.SID()sid.Initialize((0, 0, 0, 0, 0, 16), 1)sid.SetSubAuthority(0, authority)# 将sid设置到用户句柄win32security.SetTokenInformation(hNewToken, win32security.TokenIntegrityLevel,(sid, win32security.SE_GROUP_INTEGRITY))commandline = procPath + " " + param# 启动程序si = win32process.STARTUPINFO()win32process.CreateProcessAsUser(hNewToken, None, commandline, None, None, False, 0, None, None, si)这样,我们就可以使用不同优先级启动了相应的进程~·~

转载请注明:

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

家!甜蜜的家!天下最美好的莫过於家

Python写自动化之以不同优先级启动进程

相关文章:

你感兴趣的文章:

标签云: