Skip to content

Commit

Permalink
ENH: nightwatch (again) (#639)
Browse files Browse the repository at this point in the history
* update test maker

* token

* docks

* update selenium-server-standalone-3.4.0.jar
  • Loading branch information
hainm committed Jul 18, 2017
1 parent 4d9045f commit a3b5959
Show file tree
Hide file tree
Showing 4 changed files with 53 additions and 60 deletions.
40 changes: 36 additions & 4 deletions CONTRIBUTING.md
Expand Up @@ -102,18 +102,50 @@ Test notebook

- [edit to add more notebooks] and update notebook files
```bash
python ./devtools/make_test_js.py
python ./devtools/make_test_js.py --api
```

- run
- install chromedriver: https://chromedriver.storage.googleapis.com/index.html?path=2.30/

```bash
Download, unzip and copy chromedriver to /use/local/bin or anywhere in your PATH
(tested on MacOS 10.12.5)

- install nightwatch

```
npm install -g nightwatch
```

- install notebook runner

```
source devtools/travis-ci/clone_nbtest.sh # only once
```

- (may be):

To avoid entering notebook token or password, you might want to update

c.NotebookApp.token = '' in $HOME/.jupyter/jupyter_notebook_config.py

- Run notebook server

```
jupyter notebook --port=8889 &
# npm install -g nightwatch
```

- Run all tests
```bash
nightwatch
```

- Run a single test
```bash
# nightwatch /path/to/your/file.js
nightwatch nglview/tests/js/render_image.js
```


More stuff
==========

Expand Down
9 changes: 9 additions & 0 deletions devtools/make_test_js.py
@@ -1,5 +1,6 @@
#!/usr/bin/env python

import os
import subprocess
from glob import glob
from random import shuffle
Expand Down Expand Up @@ -78,3 +79,11 @@ def get_cell_length(nb):
fn = 'nglview/tests/js/test.js'
with open(fn, 'w') as fh:
fh.write(head + all_notebooks + tail)

for nb_abspath, n_cells in notebooks_with_cell_lengths:
basename = os.path.basename(nb_abspath)
js_fn = os.path.join('nglview/tests/js',
os.path.splitext(basename)[0] + '.js')
with open(js_fn, 'w') as fh:
body = body_template % (nb_abspath, nb_abspath, n_cells)
fh.write(head + body + tail)
62 changes: 7 additions & 55 deletions nglview/tests/js/test.js
Expand Up @@ -2,18 +2,6 @@
module.exports = {


"nglview/tests/notebooks/api/binary_vs_base64.ipynb": function (browser) {
browser.openNotebook("nglview/tests/notebooks/api/binary_vs_base64.ipynb");
browser.restartKernel(2000);
for ( var i = 0; i < 34; i++) {
browser.executeCell(i)
.pause(3000)
.cellHasError(i);
}
browser.end();
},


"nglview/tests/notebooks/api/render_image.ipynb": function (browser) {
browser.openNotebook("nglview/tests/notebooks/api/render_image.ipynb");
browser.restartKernel(2000);
Expand All @@ -26,34 +14,10 @@ module.exports = {
},


"nglview/tests/notebooks/api/test_2_widget_views.ipynb": function (browser) {
browser.openNotebook("nglview/tests/notebooks/api/test_2_widget_views.ipynb");
browser.restartKernel(2000);
for ( var i = 0; i < 8; i++) {
browser.executeCell(i)
.pause(3000)
.cellHasError(i);
}
browser.end();
},


"nglview/tests/notebooks/api/test_2_widget_views_fist_time_loaded.ipynb": function (browser) {
browser.openNotebook("nglview/tests/notebooks/api/test_2_widget_views_fist_time_loaded.ipynb");
browser.restartKernel(2000);
for ( var i = 0; i < 12; i++) {
browser.executeCell(i)
.pause(3000)
.cellHasError(i);
}
browser.end();
},


"nglview/tests/notebooks/api/test_add_shape.ipynb": function (browser) {
browser.openNotebook("nglview/tests/notebooks/api/test_add_shape.ipynb");
browser.restartKernel(2000);
for ( var i = 0; i < 10; i++) {
for ( var i = 0; i < 6; i++) {
browser.executeCell(i)
.pause(3000)
.cellHasError(i);
Expand All @@ -65,19 +29,7 @@ module.exports = {
"nglview/tests/notebooks/api/test_add_structure_then_trajectory.ipynb": function (browser) {
browser.openNotebook("nglview/tests/notebooks/api/test_add_structure_then_trajectory.ipynb");
browser.restartKernel(2000);
for ( var i = 0; i < 8; i++) {
browser.executeCell(i)
.pause(3000)
.cellHasError(i);
}
browser.end();
},


"nglview/tests/notebooks/api/test_auto_detect_pytraj_mdtraj_mdanalysis_parmed.ipynb": function (browser) {
browser.openNotebook("nglview/tests/notebooks/api/test_auto_detect_pytraj_mdtraj_mdanalysis_parmed.ipynb");
browser.restartKernel(2000);
for ( var i = 0; i < 82; i++) {
for ( var i = 0; i < 6; i++) {
browser.executeCell(i)
.pause(3000)
.cellHasError(i);
Expand All @@ -86,10 +38,10 @@ module.exports = {
},


"nglview/tests/notebooks/api/test_automatically_added_attributes_0.ipynb": function (browser) {
browser.openNotebook("nglview/tests/notebooks/api/test_automatically_added_attributes_0.ipynb");
"nglview/tests/notebooks/api/test_callbacks.ipynb": function (browser) {
browser.openNotebook("nglview/tests/notebooks/api/test_callbacks.ipynb");
browser.restartKernel(2000);
for ( var i = 0; i < 32; i++) {
for ( var i = 0; i < 22; i++) {
browser.executeCell(i)
.pause(3000)
.cellHasError(i);
Expand Down Expand Up @@ -122,8 +74,8 @@ module.exports = {
},


"nglview/tests/notebooks/api/test_detach.ipynb": function (browser) {
browser.openNotebook("nglview/tests/notebooks/api/test_detach.ipynb");
"nglview/tests/notebooks/api/test_movie_making.ipynb": function (browser) {
browser.openNotebook("nglview/tests/notebooks/api/test_movie_making.ipynb");
browser.restartKernel(2000);
for ( var i = 0; i < 8; i++) {
browser.executeCell(i)
Expand Down
2 changes: 1 addition & 1 deletion nightwatch.json
Expand Up @@ -9,7 +9,7 @@
"selenium" : {
"start_process" : true,
"start_session": true,
"server_path" : "nbtests/selenium-server-standalone-2.53.0.jar",
"server_path" : "nbtests/selenium-server-standalone-3.4.0.jar",
"log_path" : "",
"host" : "127.0.0.1",
"port" : 4444,
Expand Down

0 comments on commit a3b5959

Please sign in to comment.