2013-07-24 103 views
0

我只是與Selenium握手,並已使用Firefox IDE做了一個簡單的登錄腳本,我現在想要做的是檢查登錄是否成功,我可以想到的最簡單的方法這樣做的做法是搜索一些你只能在登錄後才能看到的文字。例如Hi, [account name]檢查登錄是否成功與硒

但是我有點不確定如何用Selenium來做到這一點,有沒有辦法在頁面上搜索一個術語然後採取行動?

也是這是檢查您是否登錄的最佳方法?

回答

1

如果您使用的是IDE,它應該是一個記錄您的登錄操作的簡單情況,然後在您擁有Hi [username]元素的位置單擊鼠標右鍵,然後在上下文菜單中,您會看到來自IDE的其他選項。

其中之一應該是verify textassert text。選擇它,當你運行你的test case它將完成登錄帳戶並驗證/斷言Hi [username]文本在頁面上。

1

1)是的,我正在通過搜索特定標籤的方式檢查成功登錄。在我的情況下,該標籤包含登錄用戶的ID。例如:

<span id="username">PAVEL007</span> 

所以,當我登錄:

driver.get("http://PAVEL007:[email protected]"); 

然後我搜索該標籤

WebElement loggedInUser = driver.findElement(By.id("username")); 

,並確認我在:

Assert.assertEquals(loggedInUser.getText(),"PAVEL007"); 

簡而言之:

  1. 如果您的網站給出了一些具體的文字後才SUCESSFUL登錄可見,使用文本
  2. 最好的辦法是不是要搜索的文本本身,而是爲元素包含文本

driver變量假設的健康,生活的WebDriver 我的僞代碼實例基於Java

0

答案顯然是一口流利的方法:

driver.getSource().contains("a string"); 

就個人而言,我更喜歡使用cssLocator定位值:

if (driver.findElement(myElement).getText().equalsIgnoreCase("my value")) //do 
1

如果使用硒IDE,它應該很容易的情況下,首先所有你必須記錄你的登錄行爲,登錄後你有Hi [用戶名]文本出現在屏幕上,右鍵單擊該文本,然後在上下文菜單中選擇verifytext,你應該看到來自IDE的其他選項。

其中之一應該是verify textassert text。選擇那個,當你運行你的測試用例時,它將完成登錄帳戶,並驗證/斷言Hi [用戶名]文本在頁面上

 open | www.gmail.com 
     type | id=username |usrename 
     type | id=password |password 
     Verifytext | HI[Username]|