Commit 732c21ef authored by yann300's avatar yann300

tests browser

parent 6a09650f
...@@ -3,3 +3,4 @@ node_modules ...@@ -3,3 +3,4 @@ node_modules
npm-debug.log npm-debug.log
lint.xml lint.xml
.vscode .vscode
test-browser/reports/*
{
"src_folders" : ["./test-browser"],
"output_folder" : "./test-browser/reports",
"custom_commands_path" : "",
"custom_assertions_path" : "",
"globals_path" : "",
"page_objects_path" : "",
"selenium" : {
"start_process" : false,
"server_path" : "",
"log_path" : "",
"host" : "127.0.0.1",
"port" : 4444,
"cli_args" : {
"webdriver.chrome.driver" : "",
"webdriver.ie.driver" : "",
"webdriver.firefox.profile" : ""
}
},
"test_settings" : {
"default" : {
"launch_url" : "http://localhost",
"selenium_host" : "127.0.0.1",
"selenium_port" : 4444,
"silent" : true,
"screenshots" : {
"enabled" : false,
"path" : ""
},
"desiredCapabilities" : {
"browserName" : "firefox",
"javascriptEnabled" : true,
"acceptSslCerts" : true
}
},
"chrome" : {
"desiredCapabilities" : {
"browserName" : "firefox",
"javascriptEnabled" : true,
"acceptSslCerts" : true
}
}
}
}
...@@ -19,7 +19,7 @@ ...@@ -19,7 +19,7 @@
"yo-yo": "^1.2.1" "yo-yo": "^1.2.1"
}, },
"devDependencies": { "devDependencies": {
"nightwatch": "^0.9.4", "nightwatch": "^0.9.5",
"standard": "^7.0.1", "standard": "^7.0.1",
"standard-reporter": "^1.0.5", "standard-reporter": "^1.0.5",
"tape": "^4.6.0" "tape": "^4.6.0"
...@@ -28,7 +28,8 @@ ...@@ -28,7 +28,8 @@
"start_node": "eth --rpccorsdomain \"*\" -j -v 0", "start_node": "eth --rpccorsdomain \"*\" -j -v 0",
"build": "mkdir -p build; browserify src/index.js -o build/app.js", "build": "mkdir -p build; browserify src/index.js -o build/app.js",
"test": "standard && tape ./test/tests.js", "test": "standard && tape ./test/tests.js",
"serve": "http-server ." "serve": "http-server .",
"nightwatch": "nightwatch"
}, },
"repository": { "repository": {
"type": "git", "type": "git",
......
...@@ -21,19 +21,19 @@ module.exports = ButtonNavigator ...@@ -21,19 +21,19 @@ module.exports = ButtonNavigator
ButtonNavigator.prototype.render = function () { ButtonNavigator.prototype.render = function () {
var self = this var self = this
var view = yo`<div> var view = yo`<div>
<button ref='intoback' onclick=${function () { self.trigger('stepIntoBack') }} disabled=${this.intoBackDisabled} > <button id='intoback' onclick=${function () { self.trigger('stepIntoBack') }} disabled=${this.intoBackDisabled} >
Step Into Back Step Into Back
</button> </button>
<button ref='overback' onclick=${function () { self.trigger('stepOverBack') }} disabled=${this.overBackDisabled} > <button id='overback' onclick=${function () { self.trigger('stepOverBack') }} disabled=${this.overBackDisabled} >
Step Over Back Step Over Back
</button> </button>
<button ref='overforward' onclick=${function () { self.trigger('stepOverForward') }} disabled=${this.overForwardDisabled} > <button id='overforward' onclick=${function () { self.trigger('stepOverForward') }} disabled=${this.overForwardDisabled} >
Step Over Forward Step Over Forward
</button> </button>
<button ref='intoforward' onclick=${function () { self.trigger('stepIntoForward') }} disabled=${this.intoForwardDisabled} > <button id='intoforward' onclick=${function () { self.trigger('stepIntoForward') }} disabled=${this.intoForwardDisabled} >
Step Into Forward Step Into Forward
</button> </button>
<button ref='nextcall' onclick=${function () { self.trigger('jumpNextCall') }} disabled=${this.nextCallDisabled} > <button id='nextcall' onclick=${function () { self.trigger('jumpNextCall') }} disabled=${this.nextCallDisabled} >
Jump Next Call Jump Next Call
</button> </button>
</div>` </div>`
......
...@@ -17,7 +17,6 @@ Slider.prototype.render = function () { ...@@ -17,7 +17,6 @@ Slider.prototype.render = function () {
var self = this var self = this
var view = yo`<div> var view = yo`<div>
<input <input
ref='rule'
id='slider' id='slider'
style=${ui.formatCss(style.rule)} style=${ui.formatCss(style.rule)}
type='range' type='range'
......
...@@ -78,7 +78,6 @@ TxBrowser.prototype.updateWeb3Url = function (ev) { ...@@ -78,7 +78,6 @@ TxBrowser.prototype.updateWeb3Url = function (ev) {
TxBrowser.prototype.checkWeb3 = function () { TxBrowser.prototype.checkWeb3 = function () {
try { try {
console.log('block ' + this.web3.eth.blockNumber)
this.connectInfo = 'Connected to ' + this.web3.currentProvider.host this.connectInfo = 'Connected to ' + this.web3.currentProvider.host
} catch (e) { } catch (e) {
console.log(e) console.log(e)
...@@ -107,8 +106,8 @@ TxBrowser.prototype.render = function () { ...@@ -107,8 +106,8 @@ TxBrowser.prototype.render = function () {
<br /> <br />
<br /> <br />
<input onkeyup=${function () { self.updateBlockN(arguments[0]) }} type='text' placeholder=${'Block number (default 1000110)' + this.blockNumber} /> <input onkeyup=${function () { self.updateBlockN(arguments[0]) }} type='text' placeholder=${'Block number (default 1000110)' + this.blockNumber} />
<input onkeyup=${function () { self.updateTxN(arguments[0]) }} type='text' value=${this.txNumber} placeholder=${'Transaction Number or hash (default 2) ' + this.txNumber} /> <input id='txinput' onkeyup=${function () { self.updateTxN(arguments[0]) }} type='text' value=${this.txNumber} placeholder=${'Transaction Number or hash (default 2) ' + this.txNumber} />
<button onclick=${function () { self.submit() }}> <button id='load' onclick=${function () { self.submit() }}>
Get Get
</button> </button>
<button onclick=${function () { self.trigger('unloadRequested') }}>Unload</button> <button onclick=${function () { self.trigger('unloadRequested') }}>Unload</button>
...@@ -119,7 +118,7 @@ TxBrowser.prototype.render = function () { ...@@ -119,7 +118,7 @@ TxBrowser.prototype.render = function () {
<td> <td>
Hash: Hash:
</td> </td>
<td> <td id='txhash' >
${this.hash} ${this.hash}
</td> </td>
</tr> </tr>
...@@ -127,7 +126,7 @@ TxBrowser.prototype.render = function () { ...@@ -127,7 +126,7 @@ TxBrowser.prototype.render = function () {
<td> <td>
From: From:
</td> </td>
<td> <td id='txfrom'>
${this.from} ${this.from}
</td> </td>
</tr> </tr>
...@@ -135,7 +134,7 @@ TxBrowser.prototype.render = function () { ...@@ -135,7 +134,7 @@ TxBrowser.prototype.render = function () {
<td> <td>
To: To:
</td> </td>
<td> <td id='txto' >
${this.to} ${this.to}
</td> </td>
</tr> </tr>
......
...@@ -27,7 +27,7 @@ function VmDebugger (_parent, _traceManager, _web3) { ...@@ -27,7 +27,7 @@ function VmDebugger (_parent, _traceManager, _web3) {
} }
VmDebugger.prototype.render = function () { VmDebugger.prototype.render = function () {
var view = yo`<div style='display:none'> var view = yo`<div id='vmdebugger' style='display:none'>
<div style=${ui.formatCss(style.container)}> <div style=${ui.formatCss(style.container)}>
<table> <table>
<tbody> <tbody>
......
'use strict' 'use strict'
var Debugger = require('./Ethdebugger') var Debugger = require('./Ethdebugger')
function init () { function init () {
var ethdebugger = new Debugger() var container = document.getElementById('app')
document.getElementById('app').appendChild(ethdebugger.render()) container.vmdebugger = new Debugger()
container.appendChild(container.vmdebugger.render())
} }
init() init()
module.exports = { module.exports = {
'Page Load': function (browser) { beforeEach: function (browser, done) {
init(browser, done)
},
'Load Trace - not found': function (browser) {
browser browser
.url('http://127.0.0.1:8080') .clearValue('#txinput')
.setValue('#txinput', '0x20ef65b8b186ca942zcccd634f37074dde49b541c27994fc7596740ef44cfd51')
.click('#load')
.assert.containsText('#txhash', '<not found>')
.end()
},
'Load Trace - found': function (browser) {
browser
.clearValue('#txinput')
.setValue('#txinput', '0x20ef65b8b186ca942fcccd634f37074dde49b541c27994fc7596740ef44cfd51')
.click('#load')
.waitForElementVisible('#vmdebugger', 1000)
.assert.containsText('#txhash', '0x20ef65b8b186ca942fcccd634f37074dde49b541c27994fc7596740ef44cfd51')
.assert.containsText('#txfrom', '0x00101c5bfa3fc8bad02c9f5fd65b069306251915')
.assert.containsText('#txto', '0x0d3a18d64dfe4f927832ab58d6451cecc4e517c5')
.end() .end()
} }
}
function init (browser, callback) {
browser
.url('http://127.0.0.1:8080')
injectScript('./test/resources/testWeb3.js', browser, function () {
callback()
})
}
function readFile (filename, callback) {
var fs = require('fs')
try {
console.log('reading ' + filename)
fs.readFile(filename, 'utf8', callback)
} catch (e) {
console.log(e)
callback(e)
}
}
function injectScript (file, browser, callback) {
readFile(file, function (error, result) {
if (!error) {
browser.execute(function (data) {
eval.call(null, data) // eslint-disable-line
}, [result], function () {
callback()
})
}
})
} }
This diff is collapsed.
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment