elementPresent.js 937 B

123456789101112131415161718192021222324252627282930313233
  1. /**
  2. * Checks if the given element exists in the DOM.
  3. *
  4. * ```
  5. * this.demoTest = function (client) {
  6. * browser.assert.elementPresent("#main");
  7. * };
  8. * ```
  9. *
  10. * @method elementPresent
  11. * @param {string} selector The selector (CSS / Xpath) used to locate the element.
  12. * @param {string} [message] Optional log message to display in the output. If missing, one is displayed by default.
  13. * @api assertions
  14. */
  15. var util = require('util');
  16. exports.assertion = function(selector, msg) {
  17. this.message = msg || util.format('Testing if element <%s> is present.', selector);
  18. this.expected = 'present';
  19. this.pass = function(value) {
  20. return value == 'present';
  21. };
  22. this.value = function(result) {
  23. return (result.status !== 0 || result.value.length === 0) ? 'not present' : 'present';
  24. };
  25. this.command = function(callback) {
  26. return this.api.elements(this.client.locateStrategy, selector, callback);
  27. };
  28. };