図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は( " //ボタンが[含まれています(クラス@、 ') -インフォアを提出']。"))()をクリックしてください。
その他のコンテンツが正常に日付に保存することができません。必ず、私はそれが間違った日付位置付け要素が変更され、そして最後にボタンが誤って配置されていますが、疑問がありますされていると思いました。