美文网首页
2018-11-14UI自动化&知识内容

2018-11-14UI自动化&知识内容

作者: YW祥 | 来源:发表于2018-11-14 19:11 被阅读0次
    • 为什么要做自动化

    节省人力
    提高效率
    未来趋势
    工作中要发布版本,迭代周期短,一周一发步

    • 什么项目适合自动化测试

    需要大量数据测试的
    需要反复进行回归测试
    需求变更不能太频繁
    ui界面要稳定
    合适稳定的项目
    测试员要一定编程能力
    项目进度压力不大

    • java知识内容

    1.变量:

    全局变量,类下面
    局部变量,方法下面

    2.方法:一系列步骤的集合(包含其他的方法,命令,变量)

    https://www.tapd.cn/tfl/pictures/201811/tapd_63882484_1542191298_21.gif

    3.if判断

    if 如果
    else 否则

    4.for 循环

         //最小值
        //最大值
        //增量
        //结束判断条件
    

    https://www.tapd.cn/tfl/pictures/201811/tapd_63882484_1542191456_99.gif

    5.一组数据

    数据名 []=[]
    数据使用时:数据名[下标],数据名.length获取长度
    https://www.tapd.cn/tfl/pictures/201811/tapd_63882484_1542191481_92.gif

    6.参数化

    变量
    组数

    7.打印:快捷键sout,

    Systenm.out.prentln("打印内容");

    • idea连接数据库

    配置数据连接信息
    ip
    端口号
    用户名
    密码
    驱动
    数据库库名

    image.png
    https://www.tapd.cn/tfl/pictures/201811/tapd_63882484_1542191333_24.gif

    9.idea连接linux

    https://www.tapd.cn/tfl/pictures/201811/tapd_63882484_1542191436_17.gif

    • idea添加数据 连接驱动

    首次使用时需要下载数据库驱动文件类似于jmeter使用jdbc添加jar包建立连接
    https://www.tapd.cn/tfl/pictures/201811/tapd_63882484_1542191363_9.gif

    • UI自动化心法

    locate:定位
    option:操作
    werify:断言
    exception:异常
    context:上下文
    love

    • 工程:

    
    import com.google.common.annotations.VisibleForTesting;
    import com.guoyasoft.autoUI.common.BaseUI;
    import org.openqa.selenium.Alert;
    import org.openqa.selenium.By;
    import org.openqa.selenium.WebElement;
    import org.testng.annotations.Test;
    
    /**
     * @program: guoya-test.git
     * @description:
     * @author: Administrator
     * @create: 2018-11-13 11:34
     **/
    public class GuoyaLogin extends BaseUI {
        //实例变量
        private String username="guoya715";
        private String password="qweasd";
        private String age="32";
        private String users []={"ye008","ye007","ye006","ye005","ye004","ye003","ye002","ye001","ye000","ye009"};
    //    private System
        //public 公开的方法 void 无返回 login()方法名
    
        //添加teseng注解用来执行测试方法
        @Test
        public void login() {
            //设置循环 起始值,最大值/最小值,增量,减量
            for (int i=3; i<=5;i++) {
    
                System.out.println("当前循环此时"+i);
    
                String url = "http://47.98.226.232:8080/guoya-medium/jsp/user/login.jsp";
                driver.get(url);
                //查询元素根据name查找 然后执行清除
                driver.findElement(By.name("userName")).clear();
                //查找元素根据name查找 执行输入
                driver.findElement(By.name("userName")).sendKeys(users[i]);
                sleep(2000);
                driver.findElement(By.id("password")).clear();
                driver.findElement(By.id("password")).sendKeys(password);
                sleep(2000);
                driver.findElement(By.xpath("//input[@name='checkCode']")).sendKeys("12345");
                sleep(2000);
                driver.findElement(By.xpath("//input[@id='loginBtn']")).click();
                //queryalluser();
                queryuser();
                queryage();
           }
        }
    
        @Test
        public void signup(){
            for (int i=0;i=<19;i++){
                System.out.println("当前循环此时"+i);
            }
    
            driver.get("http://47.98.226.232:8080/guoya-medium/jsp/user/signUp.jsp");
    
            //清除用户名
            //WebElement element = driver.findElement(By.xpath("//input[@id='userName']"));
            //element.click();
            //element.sendKeys("wzj1234");
            //element.sendKeys("");
            driver.findElement(By.xpath("//input[@id='userName']")).clear();
            driver.findElement(By.xpath("//input[@id='userName']")).sendKeys(username);
            driver.findElement(By.xpath("//input[@id='realName']")).sendKeys("asdfg");
            driver.findElement(By.xpath("//input[@id='password']")).sendKeys(password);
            driver.findElement(By.xpath("//input[@id='password2']")).sendKeys(password);
            driver.findElement(By.xpath("//input[@id='phone']")).sendKeys("13460235689");
            driver.findElement(By.xpath("//input[@id='age']")).sendKeys("20");
            driver.findElement(By.xpath("//input[@id='checkCode']")).sendKeys("1234");
            driver.findElement(By.xpath("//input[@id='submitBtn']")).click();
            //弹出窗口 是否确定
            driver.switchTo().alert().accept();
            sleep(2000);
    
            boolean result=driver.getPageSource().contains("登录界面");
            //如果条件为真 打印注册成功
            if(result==true){
                System.out.println("用户注册成功");
            //否侧就是注册失败
            }else{
                System.out.println("用户注册失败");
            }
    
    
            //Alert alert = driver.switchTo().alert();
            //alert.accept();
            //alert.dismiss();
            //点击确认
        }
        @Test
        public void queryalluser(){
                driver.findElement(By.xpath("//input[@type='submit']")).clear();
                driver.findElement(By.xpath("//input[@type='submit']")).click();
               // sleep(5000);
            }
        @Test
        public void queryuser(){
                driver.findElement(By.xpath("//input[@name='userName']")).clear();
                driver.findElement(By.xpath("//input[@name='userName']")).sendKeys(username);
                driver.findElement(By.xpath("//input[@type='submit']")).click();
                //sleep(5000);
            }
        @Test
        public void queryage(){
            driver.findElement(By.xpath("//input[@name='userName']")).clear();
            driver.findElement(By.xpath("//input[@type='number'][1]")).clear();
            driver.findElement(By.xpath("//input[@type='number'][1]")).sendKeys(age);
            driver.findElement(By.xpath("//input[@type='submit']")).click();
           // sleep(5000);
        }
    }
    
    
    <!--代表套件-->
    <suite name="yewx">
        <!--text 代表测试用例集-->
        <test name="test0" preserve-order="true" enabled="true">
            <!--classes 代表类集合可执行多个类-->
            <classes>
                <!--class 代表单个类-->
                <class name="com.guoyasoft.autoUI.guoya_1810.GuoyaLogin">
                    <!--methods 代表方法集-->
                    <methods>
                        <!--include 代表方法名-->
                        <include name="signup" />
                        <include name="login" />
                    </methods>
                </class>
            </classes>
        </test>
    </suite>
    
    思维导图: day22UI自动化&知识内容.png

    相关文章

      网友评论

          本文标题:2018-11-14UI自动化&知识内容

          本文链接:https://www.haomeiwen.com/subject/dizjfqtx.html