Weitere ähnliche Inhalte Ähnlich wie Automatic Functional Testing with Selenium and SauceLabs (20) Mehr von Joseph Chiang (20) Kürzlich hochgeladen (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