2016-09-16 39 views
0

我想創建一個硒腳本來登錄到一個用戶名和密碼的網站完成一項任務,註銷然後重新開始,但有多個不同的用戶名/密碼。是否有可能讓腳本使用文本文件或其他東西的值?如何讓硒腳本使用值列表?

<title>New Test</title> 
 
</head> 
 
<body> 
 
<table cellpadding="1" cellspacing="1" border="1"> 
 
<thead> 
 
<tr><td rowspan="1" colspan="3">New Test</td></tr> 
 
</thead><tbody> 
 
<tr> 
 
\t <td>open</td> 
 
\t <td>/common/oauth2/authorize?client_id/td> 
 
\t <td></td> 
 
</tr> 
 
<tr> 
 
\t <td>assertTitle</td> 
 
\t <td>Sign in to your account</td> 
 
\t <td></td> 
 
</tr> 
 
<tr> 
 
\t <td>type</td> 
 
\t <td>id=cred_userid_inputtext</td> 
 
\t <td>[email protected]</td> 
 
</tr> 
 
<tr> 
 
\t <td>click</td> 
 
\t <td>id=cred_password_inputtext</td> 
 
\t <td></td> 
 
</tr> 
 
<tr> 
 
\t <td>type</td> 
 
\t <td>id=cred_password_inputtext</td> 
 
\t <td>password1</td> 
 
</tr> 
 
<tr> 
 
\t <td>clickAndWait</td> 
 
\t <td>id=cred_sign_in_button</td> 
 
\t <td></td> 
 
</tr> 
 
<tr> 
 
\t <td>click</td> 
 
\t <td>css=span.ms-Icon--outlook</td> 
 
\t <td></td> 
 
</tr> 
 
<tr> 
 
\t <td>select</td> 
 
\t <td>id=selTz</td> 
 
\t <td>label=‎(UTC-08:00)‎ Pacific Time ‎(US &amp; Canada)‎</td> 
 
</tr> 
 
<tr> 
 
\t <td>clickAndWait</td> 
 
\t <td>css=span.signinTxt</td> 
 
\t <td></td> 
 
</tr> 
 
<tr> 
 
\t <td>click</td> 
 
\t <td>xpath=(//button[@type='button'])[12]</td> 
 
\t <td></td> 
 
</tr> 
 
<tr> 
 
\t <td>clickAndWait</td> 
 
\t <td>xpath=(//button[@type='button'])[51]</td> 
 
\t <td></td> 
 
</tr> 
 
<tr> 
 
\t <td>click</td> 
 
\t <td>//table[@id='use_another_account']/tbody/tr/td/table/tbody/tr[2]/td[2]/div</td> 
 
\t <td></td> 
 
</tr> 
 

 
</tbody></table> 
 
</body> 
 
</html>

+0

這看起來像,我不知道....可疑? – Hackerman

回答

0

當然也可以從外部源讀取和運行自動化測試。 如果您擁有很多證書,我建議您直接與測試數據庫交談,以檢索該數據,然後將其用於您的自動化測試。我不知道JavaScript或Python,但我相信,如果你是谷歌,你可以找到一個解決方案,如何做到這一點。

如果這太複雜,那麼您可能更喜歡從.csv文件讀取數據。 Python或JavaScript可能會有一些你可以用來讀取.csv文件的框架。最糟糕的情況是,您將不得不編寫自己的邏輯來讀取該文件,我確定這個文件已經存在於網絡上。

無論您選擇什麼方法,只需使用您的代碼來讀取該實體,將值存儲在變量中,然後在測試中應用這些變量。這裏是我使用C#進行測試的一個示例。它貫穿許多從外部來源讀取的「accessionNumbers」。

 [Test, TestCaseSource("GetDataList")] 
    [Property("PBI#", "35656")] 
    public void GivenPopupItemIsOpen_WhenTogglingPopup_ThenPopupOpensAndCloses(string accessionNumber) 
    { 
     var studentAssesmentPage = OpenAdminResetPageAndGoToBookletLocation(accessionNumber); 
     studentAssesmentPage.ShortTextPopup.OpenPopUp(); 
     studentAssesmentPage.ShortTextPopup.ClosePopUp(); 
     Assert.IsFalse(studentAssesmentPage.ShortTextPopup.IsPopUpOpen(), "The pop up did not close after trying to close the pop up"); 
    }