API Reference


Clear a textarea or a text input element's value. Uses elementIdValue protocol action internally.

Syntax

.clearValue(selector, [callback])

Parameters

Name Type description
selector string

The CSS/Xpath selector used to locate the element.

callback
Optional
function

Optional callback function to be called when the command finishes.

Usage

this.demoTest = function (browser) {
  browser.clearValue('input[type=text]');
};

Examples

The example below navigates to google.com, searches for the term "nightwatch.js", then clears the input using clearValue command and finally verifies if the results container is empty:


module.exports = {
  before : function(browser) {
    // see https://github.com/nightwatchjs/nightwatch/blob/master/examples/globalsModule.js#L12
    browser.globals.waitForConditionTimeout = 5000;
  },

  'clearValue example test' : function (browser) {

    browser
      .url('https://google.com')
      .waitForElementVisible('input[type=text]')
      .setValue('input[type=text]', 'nightwatch.js')
      .click('button[type=submit]')
      .expect.element('#rcnt').text.to.contain('nightwatchjs.org/');

    browser
      .clearValue('input[type=text]')
      .expect.element('#rcnt').text.to.equal('');
  },

  after : function(browser) {
    browser.end();
  }
};

Output

[Clear Value] Test Suite
============================

Running:  clearValue example test
 ✔ Element  was visible after 68 milliseconds.
 ✔ Expected element <#rcnt> text to contain: "nightwatchjs.org/" - condition was met in 763ms
 ✔ Expected element <#rcnt> text to equal: "" - condition was met in 36ms

OK. 3 assertions passed. (7.593s)

Possible Errors

Here are the type of errors that you might get when using clearValue. Full error details are available when running nightwatch with --verbose flag.

  • invalid element state - if the referenced element is disabled or is not displayed.
  • element not visible - if the referenced element is not visible on the page (either is hidden by CSS, has 0-width, or has 0-height)

API Reference

<%- content['expect-api'] %>
<%- content['expect-cookie'] %> <%- content['expect-element'] %> <% for (var methodName in api['expect.element']) { var method = api['expect.element'][methodName]; %>

<%- method.display %>Suggest edits

<%- method.descr %>

<% if (method.params.length) { %>
Parameters:
<% for (var j = 0; j < method.params.length; j++) { var param = method.params[j]; %> <% } %>
Name Type description
<%- param.name %><% if (param.optional) { %>
Optional<% } %>
<%- param.types %> <%- param.descr %>
<% } %> <% if (method.example) { %>
Usage:
<%- method.example %>
<% } %>
<% } %> <%- content['expect-elements'] %> <%- content['expect-title'] %> <%- content['expect-url'] %>
<%- content['assert-api'] %>
<% for (var i = 0; i < methods.assertions.length; i++) { var method = methods.assertions[i]; %>

assert.<%- method.name %>()

<%- method.descr %>

Parameters:
<% for (var j = 0; j < method.parameters.length; j++) { var param = method.parameters[j]; %> <% } %>
Name Type description
<%- param.name %><% if (param.optional) { %>
Optional<% } %>
<%- param.type %> <%- param.descr %>
Usage:
this.demoTest = function (browser) {
  <%- method.usage %>
};
<% } %>
<%- content['page-api'] %>
<%- content['commands-api'] %> <% var sectionsData = { 'protocol.elements' : [ 'elements-headline', 'Finding Elements', [ 'The commands listed below allow lookup of individual elements and collections of elements. Element retrieval searches are performed using a provided selector, in usually a CSS selector or, less often, an Xpath selector.', 'The convenience commands, such as .waitForElementVisible() can take a default locator strategy. More info on locator strategy can be found on the WebDriver page.', 'Each element has an associated web element reference (a UUID) that uniquely identifies the element across all browsing contexts.' ] ], 'protocol.elementinteraction' : [ 'elementinteraction-headline', 'Element Interaction' ], 'protocol.elementstate' : [ 'elementstate-headline', 'Element State', 'Details on how WebDriver checks if the element is displayed are available Element Displayedness page.' ], 'protocol.elementlocation' : [ 'elementlocation-headline', 'Element Location' ], 'protocol.document' : ['document-headline', 'Document Handling'], 'protocol.sessions' : [ 'sessions-headline', 'Sessions', 'A WebDriver session represents the connection between a client and a remote WebDriver server. Read more on WebDriver page.' ], 'protocol.navigation' : [ 'navigation-headline', 'Navigation', 'The commands in this section allow navigation to new URLs and introspection of the currently loaded url.' ], 'protocol.contexts' : ['contexts-headline', 'Window Related'], 'protocol.cookies' : ['cookies-headline', 'Cookies'], 'protocol.useractions' : ['useractions-headline', 'User Actions'], 'protocol.userprompts' : ['userprompts-headline', 'User Prompts'], 'protocol.screens' : ['screens-headline', 'Screen Capture'], 'protocol.mobile' : ['mobile-headline', 'Mobile Related'], 'protocol.utilities': ['utilities-headline', 'Utilities / Debugging'], 'protocol' : '' }; for (var section in sectionsData) { %> <% if (Array.isArray(sectionsData[section][2])) { var sectionEntry = sectionsData[section][2] || []; for (var i = 0; i < sectionEntry.length; i++) {%>

<%- sectionEntry[i] %>

<% } } else if (sectionsData[section][2]) { %>

<%- sectionsData[section][2] %>

<% } %> <% if (api[section]) { %> <% for (var i = 0; i < api[section].length; i++) { var method = api[section][i]; %>

.<%- method.name %>() Suggest edits

<%- method.descr %> <% if (method.params) {%>
Parameters:
<% for (var j = 0; j < method.params.length; j++) { var param = method.params[j]; %> <% } %>
Name Type description
<%- param.name %> <% if (param.optional) { %>
Optional<% } %>
<%- param.types %> <%- param.descr %>
<% } %> <% if (method.returns) { %>
Returns
Type description
<%- method.returns.type %> <%- method.returns.descr %>
<% } %>
<% } %> <% } %> <% } %>