📜  Protractor-入门(1)

📅  最后修改于: 2023-12-03 15:03:52.659000             🧑  作者: Mango

Protractor 入门

Protractor 是一个基于 Node.js 的端到端测试框架,专门用于 AngularJS 应用的自动化测试。它使用了 Selenium WebDriver 来驱动浏览器,可以帮助我们进行更加真实的用户行为模拟测试,从而能够更加全面地测试我们的应用程序,大幅减少了手工测试所需的时间和工作量。本文将介绍 Protractor 的基本用法。

安装

安装 Protractor 之前,需要先安装 Node.js 和 npm。安装命令如下:

# For Debian-based distributions
sudo apt-get update
sudo apt-get install -y nodejs npm

安装完成后,可以使用 npm 来安装 Protractor:

npm install -g protractor
配置

安装完成后,我们需要配置 Protractor。首先,我们需要使用以下命令来生成一个示例配置文件:

protractor --webdriver-manager-update

该命令会在当前目录中生成一个名为 protractor.conf.js 的文件,我们需要对其进行一些修改。将以下配置添加到文件末尾:

exports.config = {
  framework: 'jasmine', // 测试框架
  capabilities: { // 测试浏览器
    browserName: 'chrome'
  },
  specs: ['./**/*.spec.js'] // 测试文件
};

其中,framework 表示我们选择的测试框架,这里我们使用了 jasminecapabilities 表示我们要使用的浏览器,这里我们选择了 Chrome 浏览器;specs 表示我们要测试的文件,这里我们测试了所有以 .spec.js 为后缀的文件。

编写测试用例

以 AngularJS 官网中的一个例子为例,我们可以编写如下测试用例:

describe('AngularJS homepage', function() {
  it('should greet the named user', function() {
    browser.get('https://angularjs.org');

    element(by.model('yourName')).sendKeys('Julie');

    var greeting = element(by.binding('yourName'));

    expect(greeting.getText()).toEqual('Hello Julie!');
  });

  it('should list todos', function() {
    browser.get('https://angularjs.org');

    element(by.model('todoList.todoText')).sendKeys('write first protractor test');
    element(by.css('[value="add"]')).click();

    var todoList = element.all(by.repeater('todo in todoList.todos'));
    expect(todoList.count()).toEqual(3);
    expect(todoList.get(2).getText()).toEqual('write first protractor test');

    todoList.get(2).element(by.css('input')).click();
    var completedAmount = element.all(by.css('.done-true'));
    expect(completedAmount.count()).toEqual(2);
  });
});

其中,describe 定义一个测试用例集合,it 用于定义测试用例。在测试用例中,我们使用 browser.get 方法打开网页,使用 element 方法选中页面元素,使用 expect 断言测试结果。

运行测试

完成测试用例编写后,我们需要使用 Protractor 来执行测试。在命令行中输入以下命令即可开始测试:

protractor

测试完成后,控制台将输出测试结果。

结语

本文介绍了 Protractor 的基本用法,包括了安装、配置、编写测试用例和运行测试等方面。希望能够帮助大家更好地了解 Protractor,提高应用程序的自动化测试效率。