zoukankan      html  css  js  c++  java
  • protractor端到端测试例子

    protractor_conf.js文件:

    exports.config = {
        directConnect: true,
        capabilities: {
            'browserName': 'chrome',
            "chromeOptions" : {
                args: ["--window-size=2000,2000"],
            }
        },
        specs: ['test-organization.js'],     //运行的测试文件地址
        jasmineNodeOpts: {
            showColors: true,
            defaultTimeoutInterval: 30000
        },
    };
    

      测试文件:

    /**
     * Created by lifei on 2017/6/27.
     */
    
    var name= Math.floor(Math.random()*1000011)
    function loginFunc(address){       //登录
        browser.get(address);
        element(by.model("form.username")).sendKeys("admin");
        element(by.model("form.password")).sendKeys("admin");
        element(by.css("input.loginbtn")).click();
        var userName = element(by.binding("user.name")).getText();
        expect(userName).toEqual("admin");
    }
    function save(save){        //点击完成按钮
        element(by.cssContainingText("button",save)).click()//完成
        browser.wait(function () {
            return browser.isElementPresent(element(by.css("button.confirm")));
        }, 2000);
        element(by.css("button.confirm")).click();
    }
    
    describe("user", function(){
        beforeEach(function(){
            browser.sleep(1000);
        })
        it("login", function(){
            loginFunc("http://localhost:8004/src/#/login")
        });
        it("orization", function(){
            browser.wait(function () {
                return browser.isElementPresent(element(by.cssContainingText(".title"," 网络管理 ")));
            }, 2000);
            element(by.cssContainingText(".title"," 统一配置 ")).click();
        })
        it("create", function(){
            browser.wait(function () {
                return browser.isElementPresent(element(by.cssContainingText("button","创建用户")));
            }, 2000);
            element(by.cssContainingText("button","创建用户")).click();
    
            element(by.model("form.name")).sendKeys(name);           //用户名
            element(by.model("form.password")).sendKeys("1111");        //密码
            element(by.model("form.cpassword")).sendKeys("1111");       //重复密码
            element.all(by.repeater("p in projects")).get(2).click();   //选择租户
            element(by.cssContainingText("button", "编辑角色")).click();//选择角色
            browser.sleep(1000);
            element.all(by.repeater("x in roles")).get(4).click();
            element(by.cssContainingText("button", "确定")).click();
            save("提交");
            //验证
            var service = element.all(by.repeater("x in $data")).get(0).$$("a").get(0).getText();
            expect(service).toEqual("lifei")
        });
    
        it("edit", function() {
            browser.sleep(2000);
            element.all(by.repeater("x in $data")).get(0).$$("a").get(0).click()
            element(by.cssContainingText("button", "编辑角色")).click();//选择角色
            browser.sleep(1000);
            element.all(by.repeater("x in roles")).get(0).click();
            element(by.cssContainingText("button", "确定")).click();
            element(by.cssContainingText("button","提交")).click();
            browser.sleep(2000)
            element(by.cssContainingText("button","确定!")).click();
            browser.sleep(2000)
            element(by.cssContainingText("button","OK")).click();
            browser.sleep(2000)
            //返回
            element(by.cssContainingText("a","组织管理")).click();
            service = element.all(by.repeater("x in $data")).get(0).$$("td").get(2).getText();
            expect(service).toEqual("testtttt");
        });
        it("deleteUser", function(){
            var number = element.all(by.repeater("x in $data")).count()
             expect(number).toBe(1);
            element.all(by.repeater("x in $data")).get(3).element(by.css("button.dropdown-toggle")).click();
            element.all(by.repeater("x in $data")).get(3).element(by.cssContainingText("a","删除")).click();
            browser.sleep(2000)
            element(by.cssContainingText("button","确定!")).click();
           browser.sleep(2000)
            element(by.cssContainingText("button","OK")).click();
    
            var name = element.all(by.repeater("x in $data")).get(0).$$("a").get(0).getText();
            expect(name).toEqual("lifei");
    
        })
        afterEach(function(){
            browser.sleep(1000);
        })
    })
    

      

  • 相关阅读:
    input type=file过滤图片
    tinymce 设置和获取编辑器的内容
    node+express+static完成简单的文件下载
    js代码段
    常用的正则表达式(方便自己看)
    纯js实现日期选取功能
    node+express4+multiparty实现简单文件上传
    判断浏览器类别及版本
    mysql解压缩版安装和卸载
    linux常用命令(自己感觉常用的)
  • 原文地址:https://www.cnblogs.com/bridge7839/p/7089295.html
Copyright © 2011-2022 走看看