📜  Protractor-Javascript测试的概念(1)

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

Protractor-Javascript 测试的概念

概述

Protractor-Javascript 是一个用于 AngularJS 应用自动化测试的框架,它基于 WebDriverJS 进行了二次封装,提供了对 AngularJS 应用的特殊支持。Protractor-Javascript 可以模拟用户的操作,如点击、输入、拖拽等,可以自动执行测试用例并生成测试报告。

安装

为了使用 Protractor-Javascript 进行测试,你需要先安装 Node.js 和 Protractor-Javascript 。

安装完成之后,你需要进行如下操作:

  1. 配置 Protractor-Javascript,创建一个配置文件:
exports.config = {
  seleniumAddress: 'http://localhost:4444/wd/hub',
  specs: ['spec.js']
};
  1. 启动 WebDriver:
webdriver-manager update
webdriver-manager start
  1. 编写测试用例。将测试文件命名为 spec.js 。
测试用例组成

测试用例由一系列的步骤组成,每个步骤都会模拟用户的操作。例如,我们需要测试一个登录功能,测试用例可以写成如下形式:

describe('登录功能测试', function(){
    it('应该登录成功', function(){
        // 打开登录页面
        browser.get('http://www.example.com/login');
        // 输入用户名
        element(by.model('username')).sendKeys('myusername');
        // 输入密码
        element(by.model('password')).sendKeys('mypassword');
        // 点击登录按钮
        element(by.buttonText('登录')).click();
        // 验证是否登录成功
        expect(browser.getCurrentUrl()).toEqual('http://www.example.com/home');
    });
});

测试用例由 describeit 两个函数组成。其中, describe 用于描述一组测试用例, it 用于描述一个具体的测试用例。在测试用例中,我们使用 browser 对象来操作浏览器,使用 element 对象来定位页面元素。测试用例的最后一步使用了 expect 函数来验证测试结果是否符合预期。

测试报告

Protractor-Javascript 会自动生成测试报告,报告将显示测试的通过情况、失败情况以及测试覆盖率。可以按照如下方式修改测试报告的生成方式:

exports.config = {
    // ...

    onPrepare: function() {
        var Jasmine2HtmlReporter = require('protractor-jasmine2-html-reporter');
        jasmine.getEnv().addReporter(
            new Jasmine2HtmlReporter({
                savePath: 'target/reports',
                filename: 'index.html'
            })
        );
    }
};

上述代码会将测试报告保存在 target/reports/index.html 目录下。

总结

本文介绍了 Protractor-Javascript 的概念、安装、测试用例的组成以及测试报告的生成方式。了解 Protractor-Javascript 对 AngularJS 应用的特殊支持,熟悉测试用例的编写方法是进行自动化测试的必要条件。