UNPKG

webdriverjs

Version:

A nodejs bindings implementation for selenium 2.0/webdriver

118 lines (108 loc) 4.36 kB
describe('test different selector strategies', function () { before(h.setup); it('should find an element using "css selector" method',function(done) { this.client .isVisible('.red',function(err,isVisible) { assert.equal(null, err); assert.equal(isVisible,true); }) .getAttribute('.red', 'data-foundBy', function(err,attr) { assert.equal(null, err); assert.equal(attr,'css selector'); }) .call(done); }); it('should find an element using "id" method',function(done) { this.client .isVisible('#purplebox',function(err,isVisible) { assert.equal(null, err); assert.equal(isVisible,true); }) .getAttribute('#purplebox', 'data-foundBy', function(err,attr) { assert.equal(null, err); assert.equal(attr,'id'); }) .call(done); }); it('should find an element using "name" method',function(done) { this.client .isVisible('[name="searchinput"]',function(err,isVisible) { assert.equal(null, err); assert.equal(isVisible,true); }) .getAttribute('[name="searchinput"]', 'data-foundBy', function(err,attr) { assert.equal(null, err); assert.equal(attr,'name'); }) .call(done); }); it('should find an element using "link text" method',function(done) { this.client .isVisible('=GitHub Repo',function(err,isVisible) { assert.equal(null, err); assert.equal(isVisible,true); }) .getAttribute('=GitHub Repo', 'data-foundBy', function(err,attr) { assert.equal(null, err); assert.equal(attr,'link text'); }) .call(done); }); it('should find an element using "partial link text" method',function(done) { this.client .isVisible('*=new',function(err,isVisible) { assert.equal(null, err); assert.equal(isVisible,true); }) .getAttribute('*=new', 'data-foundBy', function(err,attr) { assert.equal(null, err); assert.equal(attr,'partial link text'); }) .call(done); }); it('should find an element using "tag name" method and tag format <XXX />',function(done) { this.client .isVisible('<textarea />',function(err,isVisible) { assert.equal(null, err); assert.equal(isVisible,true); }) .getAttribute('<textarea />', 'data-foundBy', function(err,attr) { assert.equal(null, err); assert.equal(attr,'tag name'); }) .call(done); }); it('should find an element using "tag name" method and tag format <XXX>',function(done) { this.client .isVisible('<textarea>',function(err,isVisible) { assert.equal(null, err); assert.equal(isVisible,true); }) .getAttribute('<textarea>', 'data-foundBy', function(err,attr) { assert.equal(null, err); assert.equal(attr,'tag name'); }) .call(done); }); it('should find an element using "xpath" method',function(done) { this.client .isVisible('//html/body/section/div[6]/div/span',function(err,isVisible) { assert.equal(null, err); assert.equal(isVisible,true); }) .getAttribute('//html/body/section/div[6]/div/span', 'data-foundBy', function(err,attr) { assert.equal(null, err); assert.equal(attr,'xpath'); }) .call(done); }); // check if it is still backwards compatible for obsolete command it('should still work with obsolte command',function(done) { this.client .getElementCssProperty('css selector','.red', 'background-color', function(err,result) { assert.equal(null, err); assert.strictEqual('rgba(255,0,0,1)',result); }) .call(done); }); });