selenium java 断言_Java+Selenium+Testng自动化测试学习(三)— 断言
1、修改Login類加入斷言;
斷言:檢查我們操作頁面后得到的結果與我們預期的結果是否一致。
2、使用xml文件運行所有的測試類;
Login類寫入兩個測試用例:
packagecom.test;importorg.openqa.selenium.WebDriver;importorg.openqa.selenium.chrome.ChromeDriver;importorg.testng.Assert;importorg.testng.annotations.AfterMethod;importorg.testng.annotations.BeforeMethod;importorg.testng.annotations.Test;public classLogin {
WebDriver driver= null;//調用定位元素的方法
ElementLocation elementLocation = newElementLocation();//在一個方法運行之前運行
@BeforeMethodpublic voidbefore(){
System.setProperty("webdriver.chrome.driver", "E:\\selenium\\chromedriver.exe");
driver= newChromeDriver();
String url= "http://xadev.alsolife.com/";
driver.manage().window().maximize();
driver.get(url);
}/*** 定位登錄界面元素
* 1.輸入正確手機號碼
* 2.輸入正確密碼
* 3.登錄成功*/
//@Test//public void test_login1(){//elementLocation.findElementByCssClearSendkeys("input[type='text']","15211111111",driver);//elementLocation.findElementByCssClearSendkeys("input[type='password']","123456",driver);//elementLocation.findElementByCssClick("button[type='button']",driver);//System.out.println("登錄成功,跳轉到首頁");//}//輸入錯誤用戶名
@Testpublic voidtest_login2(){
String phone= "153";
elementLocation.findElementByCssClearSendkeys("input[type='text']",phone,driver);
elementLocation.findElementByCssClick("button[type='button']",driver);
//加入斷言try{
Assert.assertEquals(phone,"15211111111");
}catch(AssertionError e){
System.out.println("手機號格式有誤:"+e.getMessage());
}
}//不輸入手機號
@Testpublic voidtest_login3(){
String phone= "";//輸入手機號
elementLocation.findElementByCssClearSendkeys("input[type='text']",phone,driver);//點擊登錄
elementLocation.findElementByCssClick("button[type='button']",driver);try{
Assert.assertEquals(phone,"15211111111");
}catch(AssertionError e){
System.out.println("手機號不能為空"+e.getMessage());
}
}//在一個方法運行完之后運行
@AfterMethodpublic voidafter(){try{
Thread thread= newThread();
thread.sleep(5000);
}catch(InterruptedException e){
e.printStackTrace();
}
driver.quit();
}
}
創建一個TestSuit.xml文件(名稱隨便起):
直接運行TestSuit.xml文件,會執行Login類。
運行結果如下:
內容:
1、TestNG中常用的斷言方法:
assertEquals(String actual, String expected)??//判斷真實值與預期值是否相等,如果不相等測試失敗會拋出一個異常
assertEqual(String actual,String expected, Stringmessage)?//檢查兩個字符串是否相等,?如果不相等,測試失敗,?且在拋出異常中打印出我們提供的第三個message參數信息
assertTrue(boolean condition) //如果值為true,則用例通過,否則拋出一個AssertionError異常
assertFalse(boolean condition)
2、測試用例的執行順序,Login類中的兩個測試用例:test_login2,test_login3
一般是以字符排序,如果字符相同以數字排序。
說一下之前的問題:
1、之前存日期,一直沒有保存成功,原因是按鈕元素定位方式不對:
之前的寫法:driver.findElement(By.ByXPath.xpath("(//button[@type='button'])[1]")).click();
改正之后:? ??driver.findElement(By.ByXPath.xpath("//button[contains(@class,'submit-infor')]")).click();
一直以為是日期的定位元素不對一直修改,最后發現是按鈕定位的不正確,但是存在的疑點是:其他內容都能保存成功就日期不行。
創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎總結
以上是生活随笔為你收集整理的selenium java 断言_Java+Selenium+Testng自动化测试学习(三)— 断言的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: unix系统编码 java_Java 正
- 下一篇: 男孩雷克萨斯4S店内开动展车连撞两车 律