-
Notifications
You must be signed in to change notification settings - Fork 9
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
* remove backport of presskeys * fix homepage * use jupyter-notebook for canonical command * quoting in bat * autobuild ftw * add changelog and more interlinkage, project command for docs * more fixes'n'stuff * nope, keeping our element screenshot for now * add output screenshotter for classic * eek, actually test on chrome, start working nteract outputs * nteract scrolling * formatting and doc generation output * more chrome devil hunting * just hide the status bar on nteract * use ctrl-enter in classic * add handlig for osx flower key * bye bye press keys * some more docs * wait for idle kernel on lab notebook launch * try waiting for kernel indicator first * try just sleeping * more waiting * eek apply css * also more waiting in classic * use a wait
- Loading branch information
Showing
36 changed files
with
429 additions
and
242 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,17 +1,33 @@ | ||
steps: | ||
- task: CondaEnvironment@1 | ||
inputs: | ||
createOptions: -c conda-forge -c defaults | ||
createCustomEnvironment: true | ||
updateConda: false | ||
environmentName: robotframework-jupyterlibrary-test | ||
packageSpecs: > | ||
geckodriver | ||
jupyterlab>=0.35 | ||
pillow | ||
python-chromedriver-binary | ||
python>=3.6,<3.7 | ||
robotframework-seleniumlibrary>=3.2 | ||
robotframework>=3.1 | ||
- ${{ if not(eq(parameters.name, 'Windows')) }}: | ||
- task: CondaEnvironment@1 | ||
inputs: | ||
createOptions: -c conda-forge -c defaults | ||
createCustomEnvironment: true | ||
updateConda: false | ||
environmentName: robotframework-jupyterlibrary-test | ||
packageSpecs: > | ||
geckodriver | ||
jupyterlab>=0.35 | ||
pillow | ||
python-chromedriver-binary | ||
python>=3.6,<3.7 | ||
robotframework-seleniumlibrary>=3.3 | ||
robotframework>=3.1 | ||
- ${{ if eq(parameters.name, 'Windows') }}: | ||
- task: CondaEnvironment@1 | ||
inputs: | ||
createOptions: -c conda-forge -c defaults | ||
createCustomEnvironment: true | ||
updateConda: false | ||
environmentName: robotframework-jupyterlibrary-test | ||
packageSpecs: > | ||
geckodriver | ||
jupyterlab>=0.35 | ||
pillow | ||
python-chromedriver-binary==2.42 | ||
python>=3.6,<3.7 | ||
robotframework-seleniumlibrary>=3.3 | ||
robotframework>=3.1 | ||
- script: pip install nteract_on_jupyter --no-deps --ignore-installed -vv | ||
displayName: Pip dependencies |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,93 @@ | ||
{ | ||
"cells": [ | ||
{ | ||
"cell_type": "markdown", | ||
"metadata": {}, | ||
"source": [ | ||
"# CI\n", | ||
"At first, you'll want to write your tests locally, and test them against as many local browsers as possible. However, to really test out your features, you'll want to:\n", | ||
"\n", | ||
"- run them against as many real browsers on other operating systems as possible\n", | ||
"- have easy access to human- and machine-readable test results and build assets\n", | ||
"- integration with development tools like GitHub\n", | ||
"\n", | ||
"Enter Continuous Integration (CI). " | ||
] | ||
}, | ||
{ | ||
"cell_type": "markdown", | ||
"metadata": {}, | ||
"source": [ | ||
"## Cloud: Multi-Provider\n", | ||
"Historically, Jupyter projects have used a mix of free-as-in-beer-for-open source hosted services:\n", | ||
"- [Appveyor](https://www.appveyor.com) for Windows\n", | ||
"- [Circle-CI](https://circleci.com) for Linux\n", | ||
"- [TravisCI](https://travis-ci.org) for Linux and MacOS\n", | ||
"\n", | ||
"Each brings their own syntax, features, and constraints to building and maintaining robust CI workflows.\n", | ||
"\n", | ||
"> `JupyterLibrary` started on Travis-CI, but as soon as we wanted to support more platforms and browsers..." | ||
] | ||
}, | ||
{ | ||
"cell_type": "markdown", | ||
"metadata": {}, | ||
"source": [ | ||
"## Cloud: Azure Pipelines\n", | ||
"At the risk of putting all your eggs in one (proprietary) basket, [Azure Pipelines](https://azure.microsoft.com/en-us/services/devops/pipelines/) provides a single-file approach to automating all of your tests against reasonably modern versions of browsers. \n", | ||
"\n", | ||
"> `JupyterLibrary` is itself built on Azure, and looking at the [pipeline][] and various [jobs and steps][] used can provide the best patterns we have found.\n", | ||
"\n", | ||
"[pipeline]: https://github.com/bollwyvl/robotframework-jupyterlibrary/blob/master/azure-pipelines.yml\n", | ||
"[jobs and steps]: https://github.com/bollwyvl/robotframework-jupyterlibrary/tree/master/ci" | ||
] | ||
}, | ||
{ | ||
"cell_type": "markdown", | ||
"metadata": {}, | ||
"source": [ | ||
"## On-Premises: Jenkins\n", | ||
"If you are working on in-house projects, and/or have the ability to support it, [Jenkins](https://jenkins.io) is the gold standard for self-hosted continuous integration. It has almost limitless configurability, and commercial support is available." | ||
] | ||
}, | ||
{ | ||
"cell_type": "markdown", | ||
"metadata": {}, | ||
"source": [ | ||
"## Approach: It's Just Scripts\n", | ||
"No matter how shiny or magical your continuous integration tools appear the long-term well-being of your repo depends on techniques that are: \n", | ||
"- simple\n", | ||
"- cross-platform\n", | ||
"- frequently run outside of your CI\n", | ||
"\n", | ||
"Since this is Jupyter, this boils down to putting as much as possible into platform-independent python (and, when neccessary, nodejs) code. \n", | ||
"\n", | ||
"> `JupyterLibrary` uses a small collection of [scripts][], not shipped as part of the distribution, which handle the pipeline. In addition, this library uses [anaconda-project][] to manage multiple environment versions, and to combine multiple script invocations with different parameters into small, easy-to-remember (and complete) commands. Unfortunately, some of these approaches don't _quite_ work in Azure Pipelines, so some duplication of commands and dependencies are present.\n", | ||
"\n", | ||
"[scripts]: https://github.com/bollwyvl/robotframework-jupyterlibrary/tree/master/scripts\n", | ||
"[anaconda-project]: https://github.com/bollwyvl/robotframework-jupyterlibrary/blob/master/anaconda-project.yml" | ||
] | ||
} | ||
], | ||
"metadata": { | ||
"kernelspec": { | ||
"display_name": "Python 3", | ||
"language": "python", | ||
"name": "python3" | ||
}, | ||
"language_info": { | ||
"codemirror_mode": { | ||
"name": "ipython", | ||
"version": 3 | ||
}, | ||
"file_extension": ".py", | ||
"mimetype": "text/x-python", | ||
"name": "python", | ||
"nbconvert_exporter": "python", | ||
"pygments_lexer": "ipython3", | ||
"version": "3.7.1" | ||
} | ||
}, | ||
"nbformat": 4, | ||
"nbformat_minor": 2 | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,52 @@ | ||
{ | ||
"cells": [ | ||
{ | ||
"cell_type": "markdown", | ||
"metadata": {}, | ||
"source": [ | ||
"# History" | ||
] | ||
}, | ||
{ | ||
"cell_type": "markdown", | ||
"metadata": {}, | ||
"source": [ | ||
"## 0.2.0\n", | ||
"- Require SeleniumLibrary 3.3.0 and remove backport of `Press Keys`\n", | ||
"- `Start New Jupyter Server` now has a default `command` of `jupyter-notebook` (instead of `jupyter`)\n", | ||
"- `Build Jupyter Server Arguments` no longer returns `notebook` as the first argument\n", | ||
"- Fix homepage URL for PyPI\n", | ||
"- Test on Chrome/Windows" | ||
] | ||
}, | ||
{ | ||
"cell_type": "markdown", | ||
"metadata": {}, | ||
"source": [ | ||
"## 0.1.0\n", | ||
"- Initial Release" | ||
] | ||
} | ||
], | ||
"metadata": { | ||
"kernelspec": { | ||
"display_name": "Python 3", | ||
"language": "python", | ||
"name": "python3" | ||
}, | ||
"language_info": { | ||
"codemirror_mode": { | ||
"name": "ipython", | ||
"version": 3 | ||
}, | ||
"file_extension": ".py", | ||
"mimetype": "text/x-python", | ||
"name": "python", | ||
"nbconvert_exporter": "python", | ||
"pygments_lexer": "ipython3", | ||
"version": "3.7.1" | ||
} | ||
}, | ||
"nbformat": 4, | ||
"nbformat_minor": 2 | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,51 @@ | ||
{ | ||
"cells": [ | ||
{ | ||
"cell_type": "markdown", | ||
"metadata": {}, | ||
"source": [ | ||
"# Limits" | ||
] | ||
}, | ||
{ | ||
"cell_type": "markdown", | ||
"metadata": {}, | ||
"source": [ | ||
"## `Press Keys` on MacOS/Chrome\n", | ||
"While SeleniumLibrary 3.3.0 added `Press Keys` which can target non-inputs, as of `chromedriver` version `2.45` the <kbd>⌘</kbd> key cannot be used. As this is the favored key for shortcuts, this means almost all of the client keyboard shortcuts just won't work if you are trying to test on MacOS.\n", | ||
"\n", | ||
"> **Workaround**\n", | ||
">\n", | ||
"> _If you are trying to `Press Keys` where the <kbd>⌘</kbd> key would be used, try to find a combination of simpler key combinations and mouse clicks._" | ||
] | ||
}, | ||
{ | ||
"cell_type": "code", | ||
"execution_count": null, | ||
"metadata": {}, | ||
"outputs": [], | ||
"source": [] | ||
} | ||
], | ||
"metadata": { | ||
"kernelspec": { | ||
"display_name": "Python 3", | ||
"language": "python", | ||
"name": "python3" | ||
}, | ||
"language_info": { | ||
"codemirror_mode": { | ||
"name": "ipython", | ||
"version": 3 | ||
}, | ||
"file_extension": ".py", | ||
"mimetype": "text/x-python", | ||
"name": "python", | ||
"nbconvert_exporter": "python", | ||
"pygments_lexer": "ipython3", | ||
"version": "3.7.1" | ||
} | ||
}, | ||
"nbformat": 4, | ||
"nbformat_minor": 2 | ||
} |
Oops, something went wrong.