安装依赖
protractornpm install -g protractor
karma-jasmine
npm install --save-dev karma-jasmine
javaJDK
/bingiser/article/details/53375282
webdriver-manager
webdriver-manager update
文件
test.js 测试文件protractor_conf.js protractor配置文件启动测试
一个命令窗口webdriver-manager start
第二个命令窗口
protractpr protractor_conf.js
protractor api
/#/api
browser.get('')导航到当前页面element找到元素element.all找到元素集合by 查找元素 by.binding : ng-bind, {{}}by.model : ng-modelby.repeater : ng-repeaterby.id : id选择器by.css : css选择器Array.get(2) : 选择第2个click 点击事件sendKeys 书写内容获取信息,判断 getText 获取文本getSize 获取尺寸getAttribute 获取属性isEnabledisSelectedisDisplayedgetTitlesleepbrower.wait()等待某元素出现
browser.wait(function(){return browser.isElementPresent(by.model("password"));},20000);
jasmine api
https://jasmine.github.io/2.0/introduction.html
expect 断言验证toEqual等于toBe 相当于===toContain包含,用于数组,字符串toBeLessThan 小于,用于数字toBeGreaterThan 大于toMatch 正则匹配toBeNull 与null比较toBeTruthy 与布尔值比较;
其他
设置浏览器窗口大小位置capabilities: {'browserName': 'chrome',"chromeOptions" : {args: ["--window-size=300,300","--window-position=300,300"],}},
javaJdk和webdriver-manager
应该先安装javaJdk,再执行webdriver-manager update;
文件上传
element(by.name('upload_file')).sendKeys("C:\\img\\a.jpg");
用选择器获取到文件上传的input标签,然后sendKeys().里面是文件的路径,注意目录分隔符,需要先转译才能用即\
清除input标签里的内容用clear键盘事件还是用sendKeys