📜  AngularJS端到端(E2E)测试|Protractor

📅  最后修改于: 2021-05-13 19:42:05             🧑  作者: Mango

Protractor是为Angular和AngularJS应用程序开发的端到端测试框架。它以真实用户的身份在真实浏览器中运行时,对与之交互的应用程序进行测试。在本文中,我们将创建一个基本测试。

先决条件:Protractor的安装和设置

方法:

  • 我们将创建一个基本的测试程序,在该程序中,我们将检查Angular Web应用程序的标题是否正确。
  • 所有Protractor测试都将包含一个包含配置的文件,这将是启动测试的初始文件。
  • 让我们使用conf.js名称创建此文件。

conf.js:

Javascript
exports.config = {
  
    // Capabilities to be passed to the 
    // webdriver instance.
    // Here we are specifying the browser
    // to be chrome
    capabilities: {
        'browserName': 'chrome'
    },
  
    // Framework to use. Jasmine is
    // being used here.
    framework: 'jasmine',
  
    // The test file which are relative
    // to the current working directory
    // when protractor is called.
    specs: ['test.js'],
  
    // Options to be passed to Jasmine.
    jasmineNodeOpts: {
        defaultTimeoutInterval: 30000
    }
};


Javascript
describe('Protractor Demo App', function () {
    it('should have a title', function () {
  
        // Open the AngularJS webpage
        browser.get(
    'http://juliemr.github.io/protractor-demo/');
  
        // Check if the title is 'Super
        //  Calculator' or not.
        expect(browser.getTitle())
            .toEqual('Super Calculator');
    });
});


  • 现在,让我们创建测试文件test.js。在此文件中,我们将访问AngularJS Web应用程序,然后检查标题是否正确。
  • Browser是Protractor创建的全局变量,用于全局浏览器级别的命令,例如使用browser.get导航。
  • describeit语法来自Jasmine框架,其中describe是对测试的描述,而是测试的步骤。

规格文件名为test.js:

Java脚本

describe('Protractor Demo App', function () {
    it('should have a title', function () {
  
        // Open the AngularJS webpage
        browser.get(
    'http://juliemr.github.io/protractor-demo/');
  
        // Check if the title is 'Super
        //  Calculator' or not.
        expect(browser.getTitle())
            .toEqual('Super Calculator');
    });
});
  • 最后,我们准备使用下面给出的命令运行文件:
    protractor conf.js
  • 这将运行配置文件,并且将如以下屏幕截图所示运行测试:

    输出: