• 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);
            }
        }
        
    }

     执行结果:

  • 相关阅读:
    jmeter 参数化测试
    jmeter属性与变量
    jmeter作用域规则
    jmeter执行顺序
    jmeter元素
    Array Transformer UVA
    A Simple Problem with Integers POJ
    分块 && 例题 I Hate It HDU
    c文件二进制读取写入文件、c语言实现二进制(01)转化成txt格式文本、c读取文件名可变
    sort排序使用以及lower_bound( )和upper_bound( )
  • 原文地址:https://www.cnblogs.com/1218-mzc/p/13161607.html
Copyright © 2020-2023  润新知