Skip to content
This repository was archived by the owner on Jul 29, 2024. It is now read-only.

fix(typings): Update selenium typings and fix tsc errors #4158

Closed
wants to merge 1 commit into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
17 changes: 4 additions & 13 deletions lib/driverProviders/direct.ts
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ import * as fs from 'fs';
import * as path from 'path';
import {Capabilities, WebDriver} from 'selenium-webdriver';
import {Driver as ChromeDriver, ServiceBuilder as ChromeServiceBuilder} from 'selenium-webdriver/chrome';
import {Driver as FirefoxDriver} from 'selenium-webdriver/firefox';
import {Driver as FirefoxDriver, ServiceBuilder as FirefoxServiceBuilder} from 'selenium-webdriver/firefox';

import {Config} from '../config';
import {BrowserError} from '../exitCodes';
Expand Down Expand Up @@ -81,12 +81,8 @@ export class Direct extends DriverProvider {
}

let chromeService = new ChromeServiceBuilder(chromeDriverFile).build();
// driver = ChromeDriver.createSession(new Capabilities(this.config_.capabilities),
// chromeService);
// TODO(ralphj): fix typings
driver =
require('selenium-webdriver/chrome')
.Driver.createSession(new Capabilities(this.config_.capabilities), chromeService);
ChromeDriver.createSession(new Capabilities(this.config_.capabilities), chromeService);
break;
case 'firefox':
let geckoDriverFile: string;
Expand All @@ -101,14 +97,9 @@ export class Direct extends DriverProvider {
'Run \'webdriver-manager update\' to download binaries.');
}

// TODO (mgiambalvo): Turn this into an import when the selenium typings are updated.
const FirefoxServiceBuilder = require('selenium-webdriver/firefox').ServiceBuilder;

let firefoxService = new FirefoxServiceBuilder(geckoDriverFile).build();
// TODO(mgiambalvo): Fix typings.
driver =
require('selenium-webdriver/firefox')
.Driver.createSession(new Capabilities(this.config_.capabilities), firefoxService);
driver = FirefoxDriver.Driver.createSession(
new Capabilities(this.config_.capabilities), firefoxService);
break;
default:
throw new BrowserError(
Expand Down
4 changes: 2 additions & 2 deletions lib/driverProviders/driverProvider.ts
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
* It is responsible for setting up the account object, tearing
* it down, and setting up the driver correctly.
*/
import {Builder, promise as wdpromise, Session, WebDriver} from 'selenium-webdriver';
import {Builder, promise as wdpromise, Session, ThenableWebDriver, WebDriver} from 'selenium-webdriver';

import {BlockingProxyRunner} from '../bpRunner';
import {Config} from '../config';
Expand Down Expand Up @@ -42,7 +42,7 @@ export abstract class DriverProvider {
* @public
* @return webdriver instance
*/
getNewDriver() {
getNewDriver(): ThenableWebDriver {
let builder: Builder;
if (this.config_.useBlockingProxy) {
builder =
Expand Down
2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@
"dependencies": {
"@types/node": "^6.0.46",
"@types/q": "^0.0.32",
"@types/selenium-webdriver": "~2.53.39",
"@types/selenium-webdriver": "3.0.0",
"blocking-proxy": "0.0.5",
"chalk": "^1.1.3",
"glob": "^7.0.3",
Expand Down