The good old PhantomJS times are over. The project is not maintained anymore and it is recommended to switch over to Chrome headless. Just run a local Selenium standalone server:
$ java -jar Sites/selenium-server-standalone-3.4.0.jar
make sure you are NOT installing the latest version. Install v7 here: https://developer.apple.com/download/more/
make sure the correct simulators are downloaded at xcode -> preferences -> components
NOTE: If you don't have the correct simulators downloaded then you will get the error: "Could not find a device to launch..."
// courtesy of Thamu Gurung @thamu_gurung_twitter | |
browser.execute(() => { | |
return $(elementSelector).trigger({ type: 'mousedown', which: 39 }); | |
}); | |
/* The Key codes | |
rightArrow - 39 | |
leftArrow - 37 | |
down - 40 | |
enter - 13 |
// # Mocha Guide to Testing | |
// Objective is to explain describe(), it(), and before()/etc hooks | |
// 1. `describe()` is merely for grouping, which you can nest as deep | |
// 2. `it()` is a test case | |
// 3. `before()`, `beforeEach()`, `after()`, `afterEach()` are hooks to run | |
// before/after first/each it() or describe(). | |
// | |
// Which means, `before()` is run before first it()/describe() |
Bunch of stuff broken? Don't fear..the Actions API is on it's way and it will probably be a good thing! Chin up! | |
OVERVIEW: | |
The purpose of this document is to explain the new actions API and what it has to do with certain commands | |
such as moveto and keys being depricated in webdriverio (due to them being deprecated in certain browser drivers). | |
MAIN ISSUE: | |
1. The issue is that these new drivers suppress these commands on purpose because they are deprecated, | |
but the drivers have not yet implemented the new WC3 standard called "actions API". | |
"The user-facing API for emulating complex user gestures. Use this class rather than using the Keyboard or Mouse directly." |
As the web component specs continue to be developed, there has been little information on how to test them.
In particular the /deep/
combinator has been deprecated in Shadow DOM 1.0. This is particularly painful since
most end-to-end testing frameworks rely on elements being discoverable by XPath or calls to querySelector.
Elements in Shadow DOM are selectable by neither.
Webdriver.io has the standard actions by selectors, but also allows browser executable scripts to return an element
When the directory structure of your Node.js application (not library!) has some depth, you end up with a lot of annoying relative paths in your require calls like:
var Article = require('../../../models/article');
Those suck for maintenance and they're ugly.
node_modules | |
*.swp |
btn Button chk CheckBox ckl CheckedListBox | |
cmb ComboBox dtp DateTimePicker lbl Label | |
llb LinkLabel lst ListBox lvw ListView | |
mtx MaskedTextBox cdr MonthCalendar icn NotifyIcon | |
nud NumeircUpDown pic PictureBox prg ProgressBar | |
rdo RadioButton rtx RichTextBox txt TextBox | |
tip ToolTip tvw TreeView wbs WebBrowser | |
容器 | |
flp FlowLayoutPanel grp GroupBox pnl Panel |