Protractor安装之前需要先安装node.js,因为protractor是一个node.js程序。
Protractor对angularJs应用进行测试的时候,一般会和Selenium服务器配合使用。Selenium是ThoughtWorks公司开发的web自动化测试工具。Selenium测试直接运行在浏览器中,就像真正的用户在操作一样。支持多种浏览器(如IE、Chrome、Firefox、Safari等)。由于Selenium是java语言编写,所以安装Selenium之前需要安装JDK。
Protractor的测试框架一般是使用Jasmine。Jasmine 是一款 JavaScript 测试框架,它不依赖于其他任何 JavaScript 组件。它有干净清晰的语法,让您可以很简单的写出测试代码。
Protractor还对WebDriverJs进行了封装。首先说一下WebDriver。WebDriver,又名Selenium 2 ,它的主要新功能是集成了 Selenium 1.0 以及 WebDriver(WebDriver 曾经是 Selenium 的竞争对手)。也就是说 WebDriver 是 Selenium 和 WebDriver 两个项目的合并,即 WebDriver 兼容 Selenium,它既支持 Selenium API 也支持 WebDriver API。WebDriver引入了一个JSON wire protocol用于将不同的语言和浏览器控制器进行交流。WebDriver的一端是一个语言绑定,而另一端,是叫做Selenium server的服务器。二者之间的交流使用的就是JSON wire protocol。WebDriverJS就是一个简单的对于JSON wire protocol的包装,它同时暴露了高等级的函数接口来使我们的生活更加轻松。
下面开始介绍安装步骤:
插入代码:npm install -g protractor
利用npm来安装protractor。
执行完毕以后输入代码:protractor --version
查看protractor是否安装成功。确认成功安装以后,执行代码:
webdriver-manager update
来安装webdriver-manager。
安装完以后,就可以利用
webdriver-manager start
来启动selenium服务器了。
注意事项:安装过程中可能会遇到以下几个问题,下面我们来看一下。
1.安装protractor时可能会出现
或者
再或者就是提示“库已经损坏”或者“库已经无法使用”等类似问题,解决办法是找到User用户下的.node-gyp文件
C:\Users\username\.node-gyp
将该文件删除,然后重新执行就可以了。
2.安装webdriver-manager的时候可能会出现
出现该问题的原因是,执行这些命令是在cmd命令提示框内进行的,而安装webdriver-manager时下载的东西是需要FQ的,但是在命令提示框内是没有设置FQ代理的,所以会出现这种连接错误。解决办法有两种:
a.在命令提示框内设置http代理。这个方法其实很简单,只要设置一下http的http_proxy属性值就可以了。
set http_proxy=http:localhost:8580
其中8580是FQ的端口号。输入这条命令后再重新安装webdriver-manager就可以了。你不用担心执行完了是否还需要再改回来,不用的,命令提示框重新启动的时候就会恢复默认值了。
b.出现该问题是因为要下载的东西没有下载下来,只要把下载目录复制下来,然后粘贴在浏览器或者迅雷等下载工具上,就可以下载下来(前提是保证你已经FQ成功),将下载下来的文件放在指定的目录下就可以了。
目录:
C:\Users\XXX\AppData\Roaming\npm\node_modules\protractor\selenium
可能有时候a方法没有解决该问题,那么你就用b方法就可以了。
安装成功以后就可以启动selenium服务器了,然后就可以测试了。