angularjs – 如何在使用Cloud9时使Protractor工作?

我是Cloud9的新手,我正在尝试使用Protractor进行e2e测试.我正在运行angular-phonecat示例.

错误如下:

Using ChromeDriver directly...
/home/ubuntu/workspace/node_modules/protractor/node_modules/selenium-webdriver/lib/atoms/error.js:109
  var template = new Error(this.message);
                 ^
UnknownError: chrome not reachable
  (Driver info: chromedriver=2.10.267518,platform=Linux 3.14.13-c9 x86_64)
    at new bot.Error (/home/ubuntu/workspace/node_modules/protractor/node_modules/selenium-webdriver/lib/atoms/error.js:109:18)
..

我安装了chromedriver.唯一的问题是如何在cloud9上安装实际的Chrome并运行测试?

先感谢您,

干杯,
Haytham

我是webase IDE的粉丝,Cloud9是最好的之一.这是一种安装Xvfb,chrome和 Protractor方法,用于在Cloud9上进行 AngularJS端到端自动化测试

打开一个终端(已经安装在c9.io上的xvfb)

>安装X11字体

$sudo apt-get install -y xfonts-100dpi xfonts-75dpi xfonts-scalable xfonts-cyrillic

>安装最后一个chrome

$wget -q -O - \
  https://dl-ssl.google.com/linux/linux_signing_key.pub \
  | sudo apt-key add - 
$sudo sh -c 'echo "deb http://dl.google.com/linux/chrome/deb/ stable main"  \
  >> /etc/apt/sources.list.d/google-chrome.list'
$sudo apt-get update 
$sudo apt-get install -y google-chrome-stable

>安装量角器

$npm install -g protractor

>更新webdriver

$webdriver-manager update

>使用带chrome的–no-sandBox选项

由于c9.io在容器内运行,因此需要此选项.
更新量角器conf.js以将选项传递给chrome

capabilities: {
  browserName: 'chrome','chromeOptions': {
    args: ['--no-sandBox'] 
  }   
}

在无头铬上进行量角器测试

>用xvfb启动webdriver(无头)

$xvfb-run webdriver-manager start

>在其他终端上运行测试

$protrator conf.js

http://blog.maduma.com

相关文章

AngularJS 是一个JavaScript 框架。它可通过 注:建议把脚本放在 元素的底部。这会提高网页加载速度,因...
angluarjs中页面初始化的时候会出现语法{{}}在页面中问题,也即是页面闪烁问题。出现这个的原因是:由于...
AngularJS 通过被称为指令的新属性来扩展 HTML。AngularJS 指令AngularJS 指令是扩展的 HTML 属性,带有...
AngularJS 使用表达式把数据绑定到 HTML。AngularJS 表达式AngularJS 表达式写在双大括号内:{{ expres...
ng-repeat 指令可以完美的显示表格。在表格中显示数据 {{ x.Name }} {{ x.Country }} 使用 CSS 样式为了...
$http是 AngularJS 中的一个核心服务,用于读取远程服务器的数据。读取 JSON 文件下是存储在web服务器上...