Contenu connexe Similaire à Automatic Functional Testing with Selenium and SauceLabs (20) Plus de Joseph Chiang (20) Automatic Functional Testing with Selenium and SauceLabs6. Selenium 2.0
Selenium 1.0 + = Selenium 2.0
npm install selenium-webdriver
gem install selenium-webdriver
composer.phar require facebook/webdriver
7. Manipulate Chrome w/ Node.js + ChromeDriver
Get Feet Wet!
var webdriver = require(‘selenium-webdriver'),
expect = require('expect'),
driver = new webdriver.Builder().forBrowser('chrome').build();
driver.get('http://stackla.com');
driver.getTitle().then(function (title) {
expect(title).toBe(“Stackla - Social Media Aggregator“);
});
driver.quit();
Tip: Node.JS 4.x
15. exports.config = {
user: process.env.SAUCE_USERNAME,
key: process.env.SAUCE_ACCESS_KEY,
updateJob: true,
specs: ['./tests/*_test.js'],
capabilities: [{
browserName: 'firefox',
version: 37,
name: 'Firefox Selenium tests',
build: 'build-' + process.env.TRAVIS_BUILD_ID,
'tunnel-identifier': process.env.TRAVIS_JOB_NUMBER
},{
browserName: 'chrome',
version: 43,
name: 'Chrome Selenium tests',
build: 'build-' + process.env.TRAVIS_BUILD_ID,
'tunnel-identifier': process.env.TRAVIS_JOB_NUMBER
},{
browserName: 'internet explorer',
version: 11,
name: 'IE Selenium tests',
build: 'build-' + process.env.TRAVIS_BUILD_ID,
'tunnel-identifier': process.env.TRAVIS_JOB_NUMBER
},{
browserName: 'safari',
version: 6,
name: 'Safari Selenium tests',
build: 'build-' + process.env.TRAVIS_BUILD_ID,
'tunnel-identifier': process.env.TRAVIS_JOB_NUMBER
}],
baseUrl: 'http://localhost:8585',
framework: 'jasmine',
reporter: ‘spec'
};
./wdio-saucelab.conf.js // browser - webdriver instance
describe('Index Page', function() {
it('should have title', function* () {
yield browser.url('/index.html');
expect(yield browser.getTitle()).toBe('Browser
Testing');
});
it('shoud have Stackla widget', function* () {
yield browser.url('/');
expect(yield browser.isExisting('.stackla-widget'));
});
});
./tests/index_test.js
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Browser Testing</title>
</head>
<body>
<h1>Browser Testing</h1>
<div class="stackla-widget" data-id="6605" data-
hash="5663ac9e3843f" data-ct="" data-alias="josephj.stackla.com"
data-ttl="30" style="width: 100%; overflow: hidden;"></div>
<script type="text/javascript">
(function (d, id) {
if (d.getElementById(id)) return;
var t = d.createElement('script');
t.type = 'text/javascript';
t.src = '//assetscdn.stackla.com/media/js/widget/
fluid-embed.js';
t.id = id;
(document.getElementsByTagName('head')[0] ||
document.getElementsByTagName('body')[0]).appendChild(t);
}(document, 'stackla-widget-js'));
</script>
</body>
</html>
http://localhost:8585/index.html
Need to build a web server and tunnel
$ wdio wdio-saucelab.conf.js