2017-07-25 49 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