Ember.js-CircleCI-BrowserStack

Ember.js-CircleCI-BrowserStack,ember.js,qunit,browserstack,circleci,testem,Ember.js,Qunit,Browserstack,Circleci,Testem,我尝试将Ciclei与browserstack连接起来,并使用browserstack服务,不仅在PhantomJS上运行集成测试和单元测试,而且在真正的Firefox和Internet Explorer上运行集成测试和单元测试 我尝试配置browserstack cli。我可以通过Browserstack上的隧道从circleci运行测试,但不会向circleci服务器报告 如果你已经玩过这个堆栈,你能分享一下你的经验吗?多谢各位 解决方案是同时使用BrowserStackLocal和brow

我尝试将Ciclei与browserstack连接起来,并使用browserstack服务,不仅在PhantomJS上运行集成测试和单元测试,而且在真正的Firefox和Internet Explorer上运行集成测试和单元测试

我尝试配置browserstack cli。我可以通过Browserstack上的隧道从circleci运行测试,但不会向circleci服务器报告


如果你已经玩过这个堆栈,你能分享一下你的经验吗?多谢各位

解决方案是同时使用BrowserStackLocal和browserstack cli工具。64位linux版本的BrowserStackLocal构建了从circleCI服务器到Browserstack服务器的隧道。之后,我们可以使用browserstack cli启动浏览器并从testem运行测试

下载BrowserStackLocal 并插入项目中的
.browserstack
文件夹

  • 64位linux版本的BrowserStackLocal:(Binnaries)
创建一个脚本, 它将运行并创建browserstack cli的设置。您必须在circleCI中设置全局变量,并且可以将访问详细信息保密。让我们调用此文件
runthis.sh
,并保存在
.browserstack
文件夹中。此脚本也将运行BrowserStackLocal二进制文件,因此隧道将存在


    #!/bin/bash
    echo "{\"username\":\"`echo $BS_USER`\", \"password\":\"`echo $BS_PASSWORD`\", \"privateKey\": \"`echo $BS_KEY`\", \"apiKey\":\"`echo $BS_KEY`\"}" >> ~/.browserstack/browserstack.json
    ./.browserstack/BrowserStackLocal $BS_KEY &
循环配置 (
circle.yml
)文件主要取决于您的项目。我们必须复制主文件夹中的
.browserstack
文件夹,安装bower、browserstack cli和testem

例如:


machine:
  timezone:
    Pacific/Auckland
  node:
    version: v0.10.28

dependencies:
  pre:
    - mv ./.browserstack ~/
    - sh ~/.browserstack/runthis.sh

  post:
    - bower install
    - npm install browserstack-cli -g
    - npm install testem -g

test:
  override:
    - PATH=$PATH:bin grunt integration_tests_cli; testem ci
    - PATH=$PATH:bin grunt tests_cli; testem ci
测试配置:
testem.yml
-大部分内容取决于您的项目。在我们的例子中,重要的是
启动器
部分


framework: "qunit"
test_page: "tmp/index.html"

src_files:
  - "tmp/assets/application.js"
  - "tmp/tests.js"
  - "tmp/integration_tests.js"

launchers:
  bs_chrome:
    command: browserstack launch chrome --attach 
    protocol: browser
    timeout: 300

launch_in_ci:
  - "PhantomJS"
  - "bs_chrome"

launch_in_dev:
  - "Chrome"
  - "Firefox"
  - "PhantomJS"

parallel: 2

因此,如果您在github上更新项目,circleci将启动测试并连接到browserstack并在那里使用浏览器…

您不需要定义一个机器环境吗?我收到以下错误:
“browserstack启动chrome--attach”意外退出,退出代码为1。
@Zoltan@YoniDabush很抱歉,我目前不使用CircleCI/Browserstack,我无法测试它,但是如果同时更改了配置,并且您找到了解决方案,请让我知道,我会更新答案。谢谢。:)