Selenium自動化測試用例的編寫和執行-java版添加會員


 創建一個普通的函數,在函數上方標記

@Test

  1. 標記的函數被認為是一條測試用例
  2. 函數的運行:代碼報錯,標記為用例失敗;代碼沒報錯,標記為用例成功
  3. 用例可以在一個類中寫多個
  4. 默認互不干擾:默認獨立
  5. 用例的依賴:@Test(dependsOnMethos={"用例1",“用例2”,......}),最少依賴一個,用例名就是函數名

@BeforClass

  1. 在類中所有的用例運行之前運行一次:類中有運行的用例函數菜運行;無論用例執行結果,都可以運行

@AfterClass

  1. 在類中所有的用例運行之后運行一次

@Assert.assertEquals(實際結果,預期結果);

  1. driver.getCurrentUrl();獲取當前網頁的網址
  2. driver.getTitle():獲取網頁標題,選項卡名稱
  3. driver.getPageSource():獲取網頁源代碼

@BeforeMethod

  1. 運行與每條用例前

@AfterMethod

  1. 運行與每條用例后
package com.bwf.AutoUITest.day05;

import java.util.concurrent.TimeUnit;

import org.databene.benerator.anno.Source;
import org.databene.feed4testng.FeedTest;
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;
import org.testng.Assert;
import org.testng.annotations.AfterClass;
import org.testng.annotations.BeforeClass;
import org.testng.annotations.BeforeMethod;
import org.testng.annotations.Test;

public class AddVIP extends FeedTest{
    WebDriver driver;

    @Test
    public void login() {
        driver.get("http://172.31.4.157/index.php?m=admin&c=public&a=login");
        
        driver.findElement(By.name("username")).sendKeys("admin");
        
        driver.findElement(By.name("userpass")).sendKeys("password");
        
        driver.findElement(By.name("userverify")).sendKeys("1234");
        
        driver.findElement(By.className("Btn")).click();
        
        Time.sleept(3);
        //斷言 判斷用例執行結果
        //驗證
        Assert.assertEquals(driver.getCurrentUrl(), "http://172.31.4.157/index.php?m=admin&c=index&a=index");
        
        
    }
    
    @Test(dependsOnMethods= {"login"},dataProvider="feeder")//添加會員
    @Source("data/members.xls")
    public void addMem(String username,String phone,String sex,String birthday,String email ,String qq) {
        //進入會員管理界面
        driver.findElement(By.linkText("會員管理")).click();
        driver.findElement(By.linkText("添加會員")).click();
        driver.switchTo().frame("mainFrame");
        //添加會員信息
        driver.findElement(By.name("username")).sendKeys(username);
        
        driver.findElement(By.name("mobile_phone")).sendKeys(phone);
        if(sex.equals("男")) {
            driver.findElement(By.xpath("//input[@value='1']")).click();
        }
        
        driver.findElement(By.name("birthday")).sendKeys(birthday);
        
        driver.findElement(By.name("email")).sendKeys(email);
            
        driver.findElement(By.name("qq")).sendKeys(qq);
//        Time.sleept(3);
        driver.findElement(By.className("button_search")).click();    
        Time.sleept(3);
        //判斷是否添加成功
        Assert.assertTrue(driver.getPageSource().contains(username));

    }
    
    @BeforeMethod
    public void beforeMethod() {
        driver.switchTo().defaultContent();
    }
    
    @BeforeClass
    public void beforeClass() {
        driver = new ChromeDriver();
        driver.manage().window().maximize();
        driver.manage().timeouts().implicitlyWait(12, TimeUnit.SECONDS);
        
    }
    
    @AfterClass
    public void aferClass() {
        Time.sleept(3);
        driver.quit();
    }
    public void selectWindow() {
        driver.close();
        for (String handle : driver.getWindowHandles()) {
            driver.switchTo().window(handle);
        }
    }
    
}

 執行結果:

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM