2012-09-26 49 views
0

我有一個硒測試,我在我的項目上運行。我需要斷言在表格的第一個元素中存在一些文本。使用硒和Nunit測試我如何斷言表格包含特定文本

public void TheUserHasAClaimTest() 
{ 
    //Arrange 

    //Act 
    driver.Navigate().GoToUrl(baseURL + "/"); 
    driver.FindElement(By.Id("SSN")).Clear(); 
    driver.FindElement(By.Id("SSN")).SendKeys("000000000"); 
    new SelectElement(driver.FindElement(By.Id("stateId"))).SelectByText("Arizona"); 
    driver.FindElement(By.Id("btnCheckForClaims")).Click(); 


    Assert.IsTrue(this.driver.FindElement(By.Id("Ssn")).Text.Contains("000000000")); 
    driver.FindElement(By.CssSelector("form.form-horizontal > input.btn.btn-primary")).Click(); 
    driver.Close(); 

    //Assert 
} 

這裏是我試圖斷言文本存在的地方。

<table class="table table-striped table-bordered"> 
     <th>Ssn</th> 
     <th>State</th> 
     <th>Claim Date</th> 
     @foreach (ClaimViewModel claimHistory in Model.ClaimsHistory) 
     { 
      <tr> 
       <td id="Ssn">@claimHistory.Ssn.ToString()</td> 
       <td>@claimHistory.StateName</td> 
       <td>@claimHistory.ClaimDate</td> 
      </tr> 
     } 
    </table> 

這是我的CSHtml頁面。我如何斷言000000000是第一個元素?

+0

這不起作用呢?從第一眼看,這對我來說看起來非常好。 – Arran

+0

返回元素爲false – Robert

回答

0

這是無效的HTML,一個ID應該只出現一次,並且您在循環中使用id="Ssn"

修復該問題,然後查看您的測試代碼。您可能需要使用selenium.GetTable來訪問表格數據。