Protractor,angular定制的e2e的简易入门

这周项目终于上了e2e的测试,之前一直都没有测试的概念。

感谢我的领导和同志引入这样的理念和思想。

多的不说。

具体的环境搭建可以参考 http://jackhu.top/article/5607fa9d10f611091d0933c3

我就具体说说用的一些方法和经验吧

browser.getTitle()
//获取文件标题 就是html中titile的文字
element(by.css('.className'))
//以class名字获取

element(by.id('idName'))
//以id名字获取

element(by.model('modelName'))
//以Angular中ng-model绑定的名字获取

element(by.binding(‘bindingname'))
//查找绑定了指定名的元素

element(by.repeater('article in articleList'))
//查找指定repeater中的元素

element(by.exactRepeater('article in articleList'))
//准确的查找一个repeater,常用来判断是否存在

element.all(by. options('c for c in colors'))
//准确查找一个ng-options

element.all(by. tagName('div'))
//准确查找标签div标签


element.all() //一般会输出一个数组

last() //点选最后一个

firt() //点选第一个

get() //选择数组中的一个,括号里是下标的值。 get(0)

count() //统计

each() //用于循环输出

filter() //筛选

element.$('div') 查找element下子元素div

element.(by.css('.className')).$(‘.className1’)  查找className孩子里有className1样式的元素

element.(by.css('.className')).$$(‘.className1’)  查找className孩子甚至孩子的孩子里有className1样式的元素

element(by.binding('person.name').isPresent()  //判断元素是否存在

by.id('foo').isEnabled() //元素是否disabled

by.id('foo'). isSelected() //元素是否选中

element.getAttribute('value') //获取一个元素的属性

getCssValue().indexOf('color: #000000')  //获取css的值

getTagName()//获取标签的值

element.click()  //点击动作

element.sendKeys() //元素输入值

element.getText() //获取元素的文字

element.getSize //获取尺寸

调试

browser.pause()
//调试 输入repl 可以打出需要调试的命令
//ctrl+c 两次退出

更多详见 http://www.protractortest.org/#/api