2017-07-25 50 views
1

我有一个网站,其中有几个表格需要逐个填写以达到最终答案,这是一个令牌号码。为每个用户唯一地生成。使用PowerShell脚本自动化网站验证测试?

手动测试它定期基地采取以下步骤:

1)开放www.xyz.com

2)填写第一种形式,即细节的姓名,年龄,性别单击下一步

3 )填写第二表格的详细信息即地址,邮编,就业类型点击下一步

4)填写第三表格的详细信息....等到表格5,然后点击完成。

5)点击完成后,我被重定向到带有令牌编号的最后一页。

问题:如何使用PowerShell脚本或任何其他脚本语言自动执行此测试,以便当我运行脚本时,它会逐一完成所有步骤,并为我提供令牌号。作为输出,如果测试通过成功?

+0

蟒蛇与硒组合会帮助你很多 – Ludisposed

回答

1

为了给您一个启程,您可以使用激活的开发人员工具(按F12)在Chrome或Explorer中加载文档,并检查要查找的对象。您将能够看到为网站加载的文档的DOM。

下面是一个简单的登录:

$ie = New-Object -ComObject 'internetExplorer.Application' 
$ie.Visible= $true 
$username="[email protected]" 
$password="password" 
$ie.Navigate("https://www.yourwebsite.com") 
While ($ie.Busy -eq $true) 
{ 
Start-Sleep -Seconds 3 
} 
$usernamefield = $ie.document.getElementByID('Email_ID').value="$username" 
$passwordfield = $ie.document.getElementByID('Password').value="$password" 
$Link = $ie.document.getElementByID('Login_ID') 
$Link.click() #or $Link.submit() 
$ie.Quit() 

一旦你登录后,你就可以开始采摘的对象,并以同样的方式进行。

注意:选择合适的ObjectIds并相应地将其放入getElementByID中。

希望它有帮助。

+0

在你的while语句中,你可以直接输入'While($ ie.Busy){}'而不是当前的语句。我建议kill-process检查'Do {logic} while($ ie.Busy)'以防万一IE挂起,所以你的PS会话也不会以无限循环挂起。 – TheIncorrigible1