2014-10-30 86 views
1

我是新來的硒與TestNG。如果你能回答我的話,那將會很有幫助。我正在爲將創建文本備註的webApplication編寫測試用例。爲了測試不同類型的輸入已經使用了@dataProvider。由於在輸入所有值後我有兩個選項,即可以保存,也可以取消創建筆記。我使用了引發異常的@optional註釋。你能否給我解釋一下,我們是否可以使用@dataprovider和@optional註解。我寫過這樣的代碼。硒與TestNG

@Test 
public class CreateNotesTest extends BeginAndEndTest 
{ 

@Test(dataProvider = "createNotes", dataProviderClass = CreateNotesTest.class) 
public void createsNotes(String title,String content,String tags,@Optional("save") String action) 
{ 
    WebDriver driver = getDriver(); 
    CreateNotes notes = new CreateNotes(driver); 
    boolean status = notes.createNote(title, content, tags, action); 
    if(action.equalsIgnoreCase("save") || action.equals("")) 
     { 
     Assert.assertEquals(status, true); 
     } 
    else 
     Assert.assertEquals(status, false); 

} 
/** 
* 
* @return dataProvider 
*/ 
@DataProvider(name = "createNotes") 
public static Object[][] getNotesData() 
{ 
    return new Object[][]{{"test1","my family is my first priority","family"},{"","hello","greeting","cancel"}}; 
} 

回答

1

AFAIK,你不能用數據提供程序,但只有使用@參數加以使用@optional。 另外,如果使用參數,if(action.equalsIgnoreCase("save") || action.equals(""))會在操作爲空時拋出nullpointerexception。

+0

感謝您的回覆。 – geeth 2014-11-03 22:03:23