Protractor是Selenium的扩充,支持Angularjs

element(by.css('my-css')).click();

一、用by的各种Locator定位元素

选中1个元素:

element(by.id('myid'));
element(by.css('.myclass')); (可以简写为: $('myclass'))
element(by.model('name'));  // 只适用于NG
element(by.binding('bindingname')); // 只适用于NG, // Find an element bound to the given variable.

选中多个元素,返回元素集合(数组)

var eList = element.all(by.css('.myclass')); (可以简写为: $('myclass'))

eList.count();  // 返回1个promise,不是简单的数字

eList.get(index);

eList.first();

eList.last();

多种选择and运算

element(by.css('myclass')).all(by.tagName('tag-within-css'));

二、给元素动作:

!!! 所有的action都是异步的, 返回值是promise !!!!

var  ele = element(by.id('myid'));

ele.click();

ele.clear().sendkeys('my text');

ele.clear();   clear the text

ele.getAttribute('value'); // 获取元素的值

ele.getText().then(function(text) { // 因为action是异步,

console.log(text);

// 这里也可以写expect

}

三、

安装protractor, 并update:

$npm install -g protractor

$webdriver-manager update

(版本匹配: Node 6.9.5, NPM: 3.10.10)

附录: 注意事项:

** 每一个test case 都是一个新的instance, 浏览器没有上一个测试的cache (例如search String)

** 如果有多个action,那么是顺序执行的,(因为都是异步的, 都会放到event 列表中)

启动:

命令窗口1:

$> webdriver-manager start

命令窗口2

$> protractor protractor.conf.js

FAQ: 
Q: Unable to create new service: ChromeDriverService
A:

$>webdriver-manager update --chromedriver

最新文章

  1. MyBatis学习总结(一)——MyBatis快速入门(转载)
  2. MySQL 第九天(核心优化三)
  3. Makefile使用总结
  4. What are the main disadvantages of Java Server Faces 2.0?
  5. [再做01背包] POJ 3624 Charm Bracelet
  6. 宏FSP_SEG_INODES_PER_PAGE
  7. 谈论C++当然结果
  8. 有关android工程的构建脚本(build.xml)的学习
  9. 第三方控件netadvantage UltraWebGrid总结
  10. 微信小程序开发系列(一)小程序开发初体验
  11. [osgEarth]osgEarth
  12. div模拟输入框input/textarea
  13. 201521123037 《Java程序设计》第7周学习总结
  14. (NO.00001)iOS游戏SpeedBoy Lite成形记(九)
  15. icpc2018焦作-I. Distance
  16. dataguard日志自动删除
  17. python3.x 和pip3的安装
  18. 在Android Studio中查看Sqlite的方法
  19. React 中的 Component、PureComponent、无状态组件 之间的比较
  20. Unity3D 导入Xcode 工程后。编译很慢

热门文章

  1. Feign源码解析系列-最佳实践
  2. ietester下ie6.0停止工作问题的修复
  3. ios 当margin-left margin-right 超过设备宽度
  4. 20155219付颖卓《网络对抗》EXP7网络欺诈技术防范
  5. SQLI DUMB SERIES-15
  6. 安利一个十分实用的IDEA插件--RestfulToolkit
  7. java 删除多层文件夹
  8. jquery Ajax 实现图片上传的功能。
  9. mysql 主主+主从笔记
  10. Git 几个常用操作