📜  Protractor-对象(1)

📅  最后修改于: 2023-12-03 14:45:40.716000             🧑  作者: Mango

Protractor-对象

Protractor-对象是一个基于Selenium WebDriver的端到端测试框架,专门针对AngularJS应用程序进行测试。

特点:

  • 自动执行AngularJS事件和作出延迟响应,使测试代码不需要加入等待时间的代码(例如:browser.wait)。

  • 通过等待AngularJS解析页面和应用程序生成的DOM元素,来处理同步和异步浏览器事件。

  • Protractor的API函数包括常用的网页控制函数和AngularJS专用函数。

  • 具备丰富的测试报告,执行快速,易于部署和维护。

Protractor-对象的API以及使用方法:

  1. browser
  • browser是全局对象,用来控制浏览器,例如:浏览器的打开和关闭、获取页面的url等。

    使用方式:

browser.get('http://www.baidu.com');      //打开百度网页
browser.getTitle();                      //获取百度网页的标题
browser.quit();                          //关闭浏览器
  1. by
  • by是一个来自Selenium Webdriver的对象集合,为查找web元素提供了各种定位方法,例如:id、name、class、css、xpath等等。

    使用方式:

element(by.css('.iclass')).click() //通过CSS选择器来查找元素,然后执行点击操作
  1. element
  • element是protractor提供的全局方法,为在angularJS应用中查找元素提供了API。

  • Protractor使用了Wrapping Webdriver,因此可以自动等待AngularJS更新视图并同步浏览器,然后再查找元素。

    使用方式:

element(by.css('[ng-model="someModel"]')).sendKeys('username'); //在输入框中输入'username'
  1. $和$$
  • 在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-对象提供的测试报告丰富,执行速度快,易于部署和维护。