源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

angularjs中的e2e测试实例

  • 时间:2021-02-01 09:01 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:angularjs中的e2e测试实例
在上一篇文章里有讲到ng的[url=http://www.1sucai.cn/article/58230.htm]单元测试[/url],今天来说说e2e(端对端)测试. 当我们测试某个模块的单个功能点时,单元测试最适合,不过当面临用户进行多个页面交互的时候产生bug了,单元测试就不行了,这时候就得用e2e来模拟用户操作还原问题现场.当然利用e2e测试也能够测试程序的健壮性,很多单元测试办不到的事情,e2e测试都能够办到. 之前,ng是利用Angular Scenario Runner来运行e2e测试,现在已经换成Protractor来跑e2e了. [b]Protractor[/b] Protractor是Angularjs里用来测试e2e的框架,它本身是一个npm模块,内部是构建在[url=https://code.google.com/p/selenium/wiki/WebDriverJs]WebDriverJS[/url]之上的,Protractor能够真正让你的测试用例运行在浏览器上,完全模拟用户的真实行为. 下面贴上它的一些资源地址: 1.[url=https://github.com/angular/protractor/blob/master/docs/api.md]Protractor[/url]提供的测试api 2.[url=https://github.com/angular/protractor/blob/master/docs/tutorial.md]Protractor[/url]简单使用例子 3.[url=https://code.google.com/p/selenium/wiki/WebDriverJs]WebDriverJs[/url]指南,这是Protractor依赖的核心,npm模块名为selenium-webdriver [b]Protractor运行原理[/b] Protractor运行e2e测试所依赖的主要有以下几个东西: 1.WebDriver APIs,就是上面提到的WebDriverJs,是由Selenium提供给前端测试用的相关js api 2.Selenium Server,一个后端jar包,用来负责跟浏览器驱动进行通讯用的 3.WebDriver browser drivers,用来显示真实网站内容并与Selenium Server通讯用,这里才是传递真实浏览器操作的地方 整个运行过程如下图 [img]http://files.jb51.net/file_images/article/201412/2014126105146207.png?2014116105214[/img] 想了解更多关于这几个组件之前交互的可以[url=https://github.com/angular/protractor/blob/master/docs/infrastructure.md]点击这里 [/url] [b]利用ng种子项目来讲解e2e[/b] 我们利用ng官方提供的种子项目来讲解一个真实的e2e例子,首先利用下面命令获取种子项目
[url=https://github.com/angular/protractor/blob/master/docs/referenceConf.js]点击这里查看[/url] 说完了配置文件,我们再来看看测试用例的写法,先贴上一个官网上的例子
[url=http://jasmine.github.io/2.0/introduction.html]点击这里  [/url] 这里只说下上面例子里关于protractor提供的一些常用方法与属性 1.browser,全局对象,代表当前浏览器的一个实例,常用的get方法用来实现浏览器改变地址 2.element,全局对象,提供像jquery里负责查找文档元素的功能,常于by对象联合使用 3.by, 全局对象,提供一个选择器类型,比如可以通过css,model,bind等特性来查找一个元素 关于element与by的方法可以参考上面的[url=https://github.com/angular/protractor/blob/master/docs/api.md]protractor api文档[/url] 说了这么多,该跑一跑上面的测试用例了,命令比较简单
[url=http://chromedriver.storage.googleapis.com/index.html]Chrome Driver[/url]地址,一般下载chromedriver_2.9.zip这个文件. 2.[url=http://selenium-release.storage.googleapis.com/index.html]selenium-server[/url] 本地jar包 下载,一般下载selenium-server-standalone-2.40.0.jar这个文件. 然后把selenium-server拷到protractor包里的selenium文件夹里去,假如上面的命令超时之后,这里也会出现文件不过是空的,直接替换就可以;还要把chromedriver_2.9.zip解压之后的文件拷到这里 最后运行下面的命令可以看到测试结果了
[url=https://github.com/angular/angular-seed/blob/master/README.md]点击这里查看 [/url] [b]总结[/b] ng的e2e测试要比单元测试配置要繁琐的多,不过它能做的事情也很多,非常值的你也试一试,有什么问题可以回复到评论里去.
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部