Skip to content

Instantly share code, notes, and snippets.

@kevinsawicki
Last active December 4, 2015 22:17

Revisions

  1. kevinsawicki revised this gist Dec 4, 2015. 1 changed file with 1 addition and 0 deletions.
    1 change: 1 addition & 0 deletions README.md
    Original file line number Diff line number Diff line change
    @@ -3,5 +3,6 @@
    Steps to reproduce:

    - Run `npm install`
    - Run `chromedriver --url-base=wd/hub --port=9515` to start ChromeDriver
    - Run `./run.sh` to see it working when launched directly
    - Run `./test.sh` to see it fail when launched via ChromeDriver
  2. kevinsawicki revised this gist Dec 4, 2015. 3 changed files with 13 additions and 2 deletions.
    3 changes: 2 additions & 1 deletion README.md
    Original file line number Diff line number Diff line change
    @@ -3,4 +3,5 @@
    Steps to reproduce:

    - Run `npm install`
    - Run `./run.sh`
    - Run `./run.sh` to see it working when launched directly
    - Run `./test.sh` to see it fail when launched via ChromeDriver
    2 changes: 1 addition & 1 deletion run.sh
    Original file line number Diff line number Diff line change
    @@ -7,4 +7,4 @@ cp index.html node_modules/electron-prebuilt/dist/Electron.app/Contents/Resource
    cp main.js node_modules/electron-prebuilt/dist/Electron.app/Contents/Resources/app
    cp package.json node_modules/electron-prebuilt/dist/Electron.app/Contents/Resources/app

    node test.js
    open node_modules/electron-prebuilt/dist/Electron.app
    10 changes: 10 additions & 0 deletions test.sh
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,10 @@
    #!/usr/bin/env bash

    set -ex

    mkdir -p node_modules/electron-prebuilt/dist/Electron.app/Contents/Resources/app
    cp index.html node_modules/electron-prebuilt/dist/Electron.app/Contents/Resources/app
    cp main.js node_modules/electron-prebuilt/dist/Electron.app/Contents/Resources/app
    cp package.json node_modules/electron-prebuilt/dist/Electron.app/Contents/Resources/app

    node test.js
  3. kevinsawicki revised this gist Dec 4, 2015. 7 changed files with 89 additions and 1 deletion.
    1 change: 1 addition & 0 deletions .gitignore
    Original file line number Diff line number Diff line change
    @@ -0,0 +1 @@
    node_modules
    7 changes: 6 additions & 1 deletion README.md
    Original file line number Diff line number Diff line change
    @@ -1 +1,6 @@
    initial
    # Require issue with ChromeDriver

    Steps to reproduce:

    - Run `npm install`
    - Run `./run.sh`
    18 changes: 18 additions & 0 deletions index.html
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,18 @@
    <!DOCTYPE html>
    <html lang="en">
    <head>
    <script type="text/javascript">
    function requireElectron() {
    try {
    require('electron')
    document.write('require(\'electron\') succeeded')
    } catch (error) {
    document.write('require(\'electron\') failed')
    document.write('<pre>' + error.stack + '</pre>')
    }
    }
    </script>
    </head>
    <body onload="requireElectron()">
    </body>
    </html>
    29 changes: 29 additions & 0 deletions main.js
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,29 @@
    var app = require('app')
    var BrowserWindow = require('browser-window')
    var fs = require('fs')
    var http = require('http')
    var path = require('path')

    var server = http.createServer(function (request, response) {
    if (request.url === '/index.html') {
    response.writeHead(200, {'Content-Type': 'text/html'})
    response.end(fs.readFileSync(path.join(__dirname, 'index.html')))
    } else {
    response.writeHead(404)
    response.end()
    }
    })

    app.on('ready', function () {
    server.listen(8000, '127.0.0.1', function () {
    var mainWindow = new BrowserWindow({
    width: 640,
    height: 480,
    title: 'Require issue'
    })
    mainWindow.loadURL('http://127.0.0.1:8000/index.html')
    })
    });
    app.on('will-quit', function () {
    server.close()
    })
    10 changes: 10 additions & 0 deletions package.json
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,10 @@
    {
    "name": "require-failure-using-chromedriver",
    "version": "1.0.0",
    "main": "main.js",
    "dependencies": {
    "electron-chromedriver": "^0.35.0",
    "electron-prebuilt": "^0.35.4",
    "webdriverio": "^3.3.0"
    }
    }
    10 changes: 10 additions & 0 deletions run.sh
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,10 @@
    #!/usr/bin/env bash

    set -ex

    mkdir -p node_modules/electron-prebuilt/dist/Electron.app/Contents/Resources/app
    cp index.html node_modules/electron-prebuilt/dist/Electron.app/Contents/Resources/app
    cp main.js node_modules/electron-prebuilt/dist/Electron.app/Contents/Resources/app
    cp package.json node_modules/electron-prebuilt/dist/Electron.app/Contents/Resources/app

    node test.js
    15 changes: 15 additions & 0 deletions test.js
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,15 @@
    var path = require('path')
    var webdriverio = require('webdriverio')
    var options = {
    host: "localhost",
    port: 9515,
    desiredCapabilities: {
    browserName: 'chrome',
    chromeOptions: {
    binary: path.join(__dirname, 'node_modules', '.bin', 'electron')
    }
    }
    }

    var client = webdriverio.remote(options)
    client.init()
  4. kevinsawicki created this gist Dec 4, 2015.
    1 change: 1 addition & 0 deletions README.md
    Original file line number Diff line number Diff line change
    @@ -0,0 +1 @@
    initial