Nightwatch
所需环境
npm intall nightwatch -D
// selenium-server是基于Java开发的,作用是用来连接浏览器的
npm install selenium-server -D
// 浏览器驱动器
npm install chromedriver --chromedriver_cdnurl=http://cdn.npm.taobao.org/dist/chromedrive -D项目配置
module.exports = {
'src_folders': [
'e2e/case'
],
'output_folder': 'reports',
'custom_commands_path': '',
'custom_assertions_path': '',
'page_objects_path': '',
'globals_path': require('./e2e/config/global.config').path,
'selenium': {
'start_process': true,
'server_path': require('selenium-server').path,
'log_path': '',
'host': '127.0.0.1',
'port': 4444,
'cli_args': {
'webdriver.chrome.driver': require('chromedriver').path
}
},
'test_settings': {
'default': {
'launch_url': 'http://localhost',
'selenium_port': 4444,
'selenium_host': 'localhost',
'silent': true,
'screenshots': {
'enabled': false,
'path': ''
},
'desiredCapabilities': {
'browserName': 'chrome',
'marionette': true
}
},
'chrome': {
'desiredCapabilities': {
'browserName': 'chrome'
}
},
'edge': {
'desiredCapabilities': {
'browserName': 'MicrosoftEdge'
}
}
}
}注意
API Reference
Expect
Language Chains
.equal(value)/.contain(value)/.match(regex)
.startsWith(value)/.endsWith(value)
.not
.before(ms)/.after(ms)
.a(type [, message])
.attribute(name [, message])
.css(property [, message])
.enabled
.present
.selected
.text
.value
.visible
Assert
.attributeContains(String selector, String attribute, String expected [, String message])
.attributeEquals(String cssSelector, String attribute, String expected [, String msg])
.containsText(String cssSelector, String expectedText [, String msg])
.cssClassPresent(String cssSelector, String className [, String msg])
.cssClassNotPresent(String cssSelector, String className [, String msg])
.cssProperty(cssSelector, cssProperty, expected [, msg])
.elementPresent(cssSelector [, msg])
.elementNotPresent(cssSelector [, msg])
.hidden(cssSelector [, msg])
.title(expected [, msg])
.urlContains(expectedText [, msg])
.urlEquals(expected [, msg])
.value(cssSelector, expectedText [, msg])
.valueContains(cssSelector, expectedText [, msg])
.visible(cssSelector [, msg])
Page Object API
Page Object Module(页面对象模块)
Page Object Instance
Element Instances
Section Instances
Page Object Commands
Custom Commands
Commands
引文
Last updated