📅  最后修改于: 2023-12-03 14:45:40.716000             🧑  作者: Mango
Protractor-对象是一个基于Selenium WebDriver的端到端测试框架,专门针对AngularJS应用程序进行测试。
特点:
自动执行AngularJS事件和作出延迟响应,使测试代码不需要加入等待时间的代码(例如:browser.wait)。
通过等待AngularJS解析页面和应用程序生成的DOM元素,来处理同步和异步浏览器事件。
Protractor的API函数包括常用的网页控制函数和AngularJS专用函数。
具备丰富的测试报告,执行快速,易于部署和维护。
Protractor-对象的API以及使用方法:
browser是全局对象,用来控制浏览器,例如:浏览器的打开和关闭、获取页面的url等。
使用方式:
browser.get('http://www.baidu.com'); //打开百度网页
browser.getTitle(); //获取百度网页的标题
browser.quit(); //关闭浏览器
by是一个来自Selenium Webdriver的对象集合,为查找web元素提供了各种定位方法,例如:id、name、class、css、xpath等等。
使用方式:
element(by.css('.iclass')).click() //通过CSS选择器来查找元素,然后执行点击操作
element是protractor提供的全局方法,为在angularJS应用中查找元素提供了API。
Protractor使用了Wrapping Webdriver,因此可以自动等待AngularJS更新视图并同步浏览器,然后再查找元素。
使用方式:
element(by.css('[ng-model="someModel"]')).sendKeys('username'); //在输入框中输入'username'
在Protractor-对象中,element没有查找到元素时,将返回空值,但实际上它返回的是一个对象:WebElementPromise。如果要获得实际的值,需要使用$或$$。
$用于查找单个元素,$$用于查找一组元素。
使用方式:
$('div').getText().then(function (text) { console.log(text); }); //打印出div元素的文本内容
var divs = $$('div'); console.log(divs.count()); //统计页面中div元素的个数
总结:
Protractor-对象是一个功能强大的AngularJS端到端测试框架,可轻松实现各种浏览器操作和元素查找。
它的API函数包括浏览器控制函数和AngularJS专用函数,可使测试代码更加简单、优雅。
同时,Protractor-对象提供的测试报告丰富,执行速度快,易于部署和维护。