0
有沒有一種方法可以爲Firefox和Chrome使用相同的測試代碼?抽象類,其中我可以爲所有瀏覽器驅動器執行的代碼段,而不重複的測試碼塊爲每個瀏覽器驅動器Selenium WebDriver瀏覽器抽象
例如代碼
變種搜索盒= ffDriver.findElement(webdriver.By.name ( 'q'));
爲每個瀏覽器驅動程序重複。
var assert = require('assert'),
test = require('selenium-webdriver/testing'),
webdriver = require('selenium-webdriver'),
SeleniumServer = require('selenium-webdriver/remote').SeleniumServer;
var server = new SeleniumServer('selenium-server-standalone-2.39.0.jar', {
port: 4444
});
server.start();
var ffDriver = new webdriver.Builder()
.usingServer(server.address())
.withCapabilities(webdriver.Capabilities.firefox())
.build();
var chromeDriver = new webdriver.Builder()
.withCapabilities(webdriver.Capabilities.chrome())
.build();
test.describe('Google Search', function() {
test.it('should have a query box that you can type in ff', function() {
ffDriver.get('http://www.google.com');
var searchBox = ffDriver.findElement(webdriver.By.name('q'));
searchBox.sendKeys('webdriver');
searchBox.getAttribute('value').then(function (value) {
assert.equal(value, 'webdriver');
});
ffDriver.quit();
});
test.it('should have a query box that you can type in chrome', function() {
chromeDriver.get('http://www.google.com');
var searchBox = chromeDriver.findElement(webdriver.By.name('q'));
searchBox.sendKeys('webdriver');
searchBox.getAttribute('value').then(function (value) {
assert.equal(value, 'webdriver');
});
chromeDriver.quit();
});
});