我是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