使用Protractor搭建AngularJS冒烟测试

冒烟测试:也称为E2E测试,本文通过搭建Protractor来实现对AngularJS的前端测试

1.安装Protractor

由于本机已经安装过nodejs和npm,所以可以通过npm直接装

npm install protractor -g

2.更新webdriver-manager

webdriver-manager update

这边遇到墙的问题,报错(需要换镜像),解决方法如下:

在C:\Users\24_do\AppData\Roaming\npm\node_modules\protractor\node_modules\webdriver-manager\built目录下替换两个镜像源

• "selenium": "http://npm.taobao.org/mirrors/selenium/",

• "chromedriver": "https://npm.taobao.org/mirrors/chromedriver/",

3.安装输出测试报告需要安装相关插件

//输出html报告

npm install protractor-jasmine2-html-reporter -g

//输出junit格式的xml报告

npm install jasmine-reporters -g

//由于需要在config文件中加载。一般把这两个插件放在根目录的node_modules 目录下

4.进入自动化测试项目目录

cd D:\YFZX\Work\2019\Project\E2E

准备两个文件,conf.js和spec.js

其中conf.js:

配置文件中描述了到何处定位测试规范文件 (specs ),Selenium 服务器的地址 (seleniumAddress), 还说明了我们将会使用 Jasmine 版本 2 作为测试框架。其它配置这里使用默认的配置,Chrome 是默认的浏览器。

var Jasmine2HtmlReporter = require('./node_modules/protractor-jasmine2-html-reporter');

exports.config = {

  framework: 'jasmine',

  seleniumAddress: 'http://localhost:4444/wd/hub',

  specs: ['spec.js'],

  capabilities:{

  'browserName':'chrome'

  },

  onPrepare: function(){jasmine.getEnv().addReporter(new Jasmine2HtmlReporter({savePath: 'report/e2e/',takeScreenshots: true,takeScreenshotsOnlyOnFailures: true}));}

}

spec.js:

describe('Protractor SDS App', function() {

  //把 ElementFinder 保存在变量中进行共享使用。

  var a = element(by.css('.login')).$('a')

  //var failNoticeMsg = element(by.binding('failNoticeMsg'))

  //把导航移到了 beforeEach 中,这个函数会在每一个 it 块之前执行。

  beforeEach(function() {

    browser.get('https://10.142.151.146');

  });

  it('Old password error', function() {

a.click();

browser.sleep(1000);

element(by.model('uName')).sendKeys('Testuser1');

element(by.model('oldPassword')).sendKeys('123456');

element(by.model('newPassword')).sendKeys('QETadg_1');

element(by.model('newPassword2')).sendKeys('QETadg_1');

browser.sleep(1000);

element(by.buttonText('保存')).click();

browser.sleep(2000);

expect(element(by.binding('failNoticeMsg')).getText()).toEqual('原始密码错误,请重新输入, E0070113004');

});

});



5.开启服务器

• webdriver-manager start

//默认情况下,Selenium测试服务器接入地址为:http://localhost:4444/wd/hub


6.发起测试

保持上面的命令行窗口运行webdriver-manager start,重新打开另外一个命令行窗口

rotractor 需要两个文件来运行测试,一个测试规范文件spec.js,一个配置文件conf.js

protractor conf.js


7.查看测试报告

测试完成后会生成测试报告

参考资料

https://github.com/angular/protractor

https://www.jianshu.com/p/6dfa3386d837

https://www.jianshu.com/p/87d712be1f62

https://www.cnblogs.com/haogj/p/4815673.html

你可能感兴趣的:(使用Protractor搭建AngularJS冒烟测试)