2015-07-20 51 views
0

我们正在测试的网站使用Windows身份验证。我们有一个使用Start-Process的脚本以备用用户证书启动Internet Explorer。看起来是这样的:Powershell在运行时更改IE表标题

$username = 'test\AdminUser1' 
$selected_password = '[email protected]$$word' 
$selected_runCommand = 'http:\\QA_env1.com\MainPortal.asp' 
$cred = New-Object System.Management.Automation.PSCredential -ArgumentList @($username,(ConvertTo-SecureString -String $selected_password -AsPlainText -Force)) 
$path = $env:programfiles 
Start-Process -FilePath "$path\Internet Explorer\iexplore.exe" -LoadUserProfile -Credential $cred -ArgumentList $selected_runCommand 

在执行我们可能会以半打开放会议结束了一个测试计划,没有简单的方法来区分它们,因为它们都具有相同的标题的过程。我想要做的是将用户ID(也许还有其他信息)附加到标题中。我一直在努力搜索,并找到了使用Start-Process-PassThru的PS示例来获取和更改窗口标题,这不起作用(不确定它是否因为它无法与IE一起工作,或者它确实如此工作,但应用程序代码然后覆盖它)。同样使用Win32 API来获取窗口句柄并更改标题,这同样不适用于IE。

显然WebClient的具有改变分页标题的手段,但我们已经有严重的问题得到这个方法(用PS,或硒)对认证要求在这里工作。当然,我们可以在启动站点时弹出一个Windows身份验证对话框,但使用UI的脚本的整个目的是为了让用户能够记住十几个测试ID和密码。

回答

0

是否有可能使用Start-JobWait-Job等待输出与产生多个IE进程,然后试图确定哪个是哪个?如果执行只检查某个响应,这可能会起作用。

+0

Hey Wisman;对于自动化场景,我们经常以这种方式工作......作为一个用户启动,执行一些操作,关闭并作为第二个用户启动,评估对第一个用户操作的第二个用户的影响。对于实时/手动测试,我们更喜欢异步工作......让两个用户同时使用,所以我们可以来回切换。大大加快速度。 –