1

TestNGでセレンを初めて使用します。お答えいただけると大変助かります。テキスト ノートを作成する webApplication のテスト ケースを作成しています。さまざまな種類の入力をテストするために、@dataProvider を使用しました。すべての値を入力した後、メモの作成を保存するかキャンセルするかの 2 つのオプションがあるためです。例外をスローしている @optional アノテーションを使用しました。@optional アノテーションを付けた @dataprovider を使用できるかどうか教えてください。このようなコードを書きました。

@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"}};
}
4

1 に答える 1

1

私の知る限り、 @Optional は dataprovider では使用できませんが、@Parameters でのみ使用できます。また、パラメーターと共に使用すると、 if(action.equalsIgnoreCase("save") || action.equals(""))action が null の場合に nullpointerexception がスローされます。

于 2014-10-31T07:50:27.677 に答える