Javaの+セレン自動テストの研究(3) - アサーション

図1に示すように、変更されたログインクラスがアサーションを追加し、

  アサーション:当社の営業結果ページは、我々が期待される結果と一致してもらうか確認してください。

2、すべてのテストクラスを実行するために、XMLファイルを使用しました。

ログインクラスの2つのテスト書き込み:

パッケージcom.test; 

インポートorg.openqa.selenium.WebDriver;
 インポートorg.openqa.selenium.chrome.ChromeDriver;
 インポートorg.testng.Assert;
 インポートorg.testng.annotations.AfterMethod;
 インポートorg.testng.annotations.BeforeMethod。
 インポートorg.testng.annotations.Test; 

パブリック クラスログイン{ 
    webdriverをドライバー = ヌル;
     // 要素の位置決めのメソッドを呼び出す 
    ElementLocation elementLocation =   新しい新しいElementLocationを();
     // メソッドを実行する前に、実行を
    @BeforeMethod
     公共 のボイドの前に(){
        するSystem.setProperty( "webdriver.chrome.driver"、 "E:\\ \\ chromedriver.exeセレン" ); 
        ドライバ = 新新ChromeDriver(); 
        文字列のURL = "http://xadev.alsolife.com/" ; 
        ドライバ.manage()ウィンドウ()最大化(); ... 
        driver.get(URL); 
    } 
    / ** 
     *ログインインターフェイス要素を配置する
     * 1が正しい電話番号を入力してください
     * 2。正しいパスワードを入力してください
     * 3.ログイン成功時には
     * / 
/ /     @Test
 //     公共ボイドtest_login1(){
 //         elementLocation.findElementByCssClearSendkeys( "INPUT [TYPE = 'テキスト']"、 "15211111111"、ドライバ);
 //        elementLocation.findElementByCssClearSendkeys( "INPUT [タイプ= 'パスワード']"、 "123456"、ドライバー);
 //         elementLocation.findElementByCssClick( "ボタン[タイプ= 'ボタン']"、ドライバー);
 //         System.out.printlnは( 、 "成功したログイン、ジャンプ");
 //     } 

    //は正しいユーザ名を入力
    @Test
     公共 ボイドtest_login2(){ 
        文字列の電話 = "153" ; 
        elementLocation.findElementByCssClearSendkeys( "INPUT [TYPE = 'テキスト']"、電話、ドライバ); 
        elementLocation.findElementByCssClick( "ボタン[TYPE = 'ボタン']" ドライバ)
     // ASSERT参加
試し{ Assert.assertEquals(電話番号、 "15211111111" ); } キャッチ(EとAssertionErrorを){ System.out.printlnは( "悪い電話番号の形式:" + e.getMessage()); } } // 電話番号を入力しないでください @Test 公共 のボイドtest_login3(){ String型の携帯電話は = "" ; //は、電話番号入力します ([タイプ= 'テキスト'の]入力elementLocation.findElementByCssClearSendkeys ""、電話、ドライバ); // ログイン]をクリックし elementLocation.findElementByCssClickを(「ボタン[タイプ= 「ボタン」] " 、ドライバー); 試してみます { Assert.assertEquals(電話、 "15211111111" ); } キャッチ(E付きてAssertionError){ System.out.printlnは( + "電話番号は空白にすることはできません" e.getMessage()); } } // 操作の方法の完了後に実行 @AfterMethod 公共 のボイド(後){ 試み{ スレッドthread = 新しい新しいスレッド(); のThread.sleep( 5000 ); } キャッチ(InterruptedExceptionあるE){ e.printStackTrace(); } driver.quit(); } }

TestSuit.xmlは、ファイル(名前簡単にプレーを)作成します。

<スイート名= "テストスイートデモ"> 
    <テスト名= "TestSuiteのテストデモ"> 
        <クラス> 
            < - -テストケースクラスの実行!> 
       < -名前:!包まれたエグゼクティブクラス
          <class>の意志複数- > < クラス名= "com.test.Login"> </ クラス > </クラス> </テスト> </スイート>

直接TestSuit.xmlファイルを実行し、ログインクラス。

結果は以下の通りであります:

 

 

 コンテンツ:

一般的に使用される1、TestNGのアサート方法:

  等しくないテストが例外をスローします失敗した場合のassertEquals(文字列実際、文字列が期待される)//は期待値の真の値を決定するには、等しいです

       assertEqualは(実際の文字列、文字列Stringmessage、予想)  と等しくない場合には2つの文字列が、同じであれば、//チェック、テストが失敗した、と私たちは、例外をプリントアウトするために提供し、第3のメッセージのパラメータ情報に投げます

  いるassertTrue(ブール条件)//値は、ユースケースによって、真である場合、または例外をスローしてAssertionError

  assertFalse(ブール条件)

図2に示すように、テストケースの実行順序、ログインクラス2つのテストケース:test_login2、test_login3

  一般的にデジタルソートであれば同じ文字、文字の順序に基づきます。

 

前の質問についてのトーク:

ボタン要素が間違った方向に配置されているため1は、日付の前に、成功は、保存されていません。

          書き込む前に:driver.findElement(By.ByXPath.xpath( " [1](//ボタン)[タイプ= 'ボタン' @]")).click();

    改正之后:driver.findElement(By.ByXPath.xpathは( " //ボタンが[含まれています(クラス@、 ') -インフォアを提出']。"))()をクリックしてください。

その他のコンテンツが正常に日付に保存することができません。必ず、私はそれが間違った日付位置付け要素が変更され、そして最後にボタンが誤って配置されていますが、疑問がありますされていると思いました。

おすすめ

転載: www.cnblogs.com/liho/p/12217906.html