webtest
v0.8.3
Published
Execute browser test in plain English
Downloads
143
Readme
webtest
Run Web Page Test In Plain English
Principle
Web browser test in plain English
Not Javascript nor other language
Test visible sections.
Not variable, attributes, nor properties
Goal
The web browser test script should be like this;
open browser '/login'
enter text 'John' into 'username'
submit
close browser
Instead of;
var webdriver = require('selenium-webdriver'),
until = webdriver.until;
var driver = new webdriver.Builder().forBrowser('chrome').build();
driver.get('/login');
driver.findElement({css:'input[placeholder="username"'})
.then(function(element) {
element.sendKeys('John');
})
});
... even more javascript here ...
driver.quit();
Features
- Run web browser test in plain English from command line or a file
- Built-in chromedriver, firefox driver, and reporter
- No need to run a selenium-server standalone jar file
- Ability to control execution speed
- No protractor, just test web page
- Angular1-friendly, Angular2-friendly, Or, any framework friendly
Install
npm install webtest
Usage
Run
webtest
in command linewebtest (master)$ node index.js webTestDriver is initialized as { browser: { name: 'chrome' }, timeout: 10000 } ? > open browser chrome OK ? > go to https://www.google.com OK
Or, write tests in plain English. e.g., my-test-scenario.txt
My Google Test Case 1 open browser chrome go to http://google.com enter 'Allen Kim' into 'Search' submit see 'allenhwkim'
Then, and run the test file
$ webtest my-test.txt
Core Commands
click link
<link-text>
click
<selector>
close browser
enter text
<string>
into<selector>
go to
<url>
open browser
<browser-name>
see "
<text>
"set window position
<left>
<top>
set window size
<width>
<height>
submit
verify element
<selector>
is disabledverify element
<selector>
is enabledverify element
<selector>
is not selectedverify element
<selector>
is not visibleverify element
<selector>
is selectedverify element
<selector>
<style-name>
is "<style-value>
"verify element
<selector>
text matches "<string>
"verify element
<selector>
text is "<string>
"verify element
<selector>
is visibleverify title matches "
<title>
"verify title is "
<title>
"verify url matches
<string>
wait for page load
save value of expression
<js-expression>
to<variable>
save value of element
<selector>
to<variable>
print variable
<variable>
verify expression
<js-expression>
NOTE:
- If webtest is run on TRAVIS CI environment, the browser is always
firefox
although user specify the browser inopen browser
command
Developer Note
$ npm install -g # to install this to run on local environment e.g., $ webtest