当前位置: 首页>>代码示例>>TypeScript>>正文


TypeScript WebDriver.getSession方法代码示例

本文整理汇总了TypeScript中selenium-webdriver.WebDriver.getSession方法的典型用法代码示例。如果您正苦于以下问题:TypeScript WebDriver.getSession方法的具体用法?TypeScript WebDriver.getSession怎么用?TypeScript WebDriver.getSession使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在selenium-webdriver.WebDriver的用法示例。


在下文中一共展示了WebDriver.getSession方法的9个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的TypeScript代码示例。

示例1: quitDriver

  /**
   * Quit a driver.
   *
   * @public
   * @param webdriver instance
   */
  quitDriver(driver: WebDriver): q.Promise<WebDriver> {
    let driverIndex = this.drivers_.indexOf(driver);
    if (driverIndex >= 0) {
      this.drivers_.splice(driverIndex, 1);
    }

    let deferred = q.defer<WebDriver>();
    if (driver.getSession() === undefined) {
      deferred.resolve();
    } else {
      driver.getSession()
          .then((session_: Session) => {
            if (session_) {
              driver.quit().then(function() {
                deferred.resolve();
              });
            } else {
              deferred.resolve();
            }
          })
          .catch((err: Error) => {
            deferred.resolve();
          });
    }
    return deferred.promise;
  }
开发者ID:MexicanAce,项目名称:protractor,代码行数:32,代码来源:driverProvider.ts

示例2: BrowserError

    let mappedDrivers = this.drivers_.map(async (driver: WebDriver) => {
      let session = await driver.getSession();

      // Fetching BrowserStack session details.
      this.browserstackClient.getSession(
          session.getId(), function(error: Error, automate_session: any) {
            if (error) {
              logger.info(
                  'BrowserStack results available at ' +
                  'https://www.browserstack.com/automate');
            } else {
              if (automate_session && automate_session.browser_url) {
                logger.info('BrowserStack results available at ' + automate_session.browser_url);
              } else {
                logger.info(
                    'BrowserStack results available at ' +
                    'https://www.browserstack.com/automate');
              }
            }
          });

      let jobStatus = update.passed ? 'completed' : 'error';
      let statusObj = {status: jobStatus};

      // Updating status of BrowserStack session.
      this.browserstackClient.updateSession(
          session.getId(), statusObj, function(error: Error, automate_session: any) {
            if (error) {
              throw new BrowserError(
                  logger, 'Error updating BrowserStack pass/fail status: ' + util.inspect(error));
            } else {
              logger.info(automate_session);
            }
          });
    });
开发者ID:angular,项目名称:protractor,代码行数:35,代码来源:browserStack.ts

示例3: quitDriver

  /**
   * Quit a driver.
   *
   * @public
   * @param webdriver instance
   */
  quitDriver(driver: WebDriver): wdpromise.Promise<void> {
    let driverIndex = this.drivers_.indexOf(driver);
    if (driverIndex >= 0) {
      this.drivers_.splice(driverIndex, 1);
    }

    if (driver.getSession() === undefined) {
      return wdpromise.when(undefined);
    } else {
      return driver.getSession()
          .then<void>((session_: Session) => {
            if (session_) {
              return driver.quit();
            }
          })
          .catch<void>(function(err: Error) {});
    }
  }
开发者ID:DylanLacey,项目名称:protractor,代码行数:24,代码来源:driverProvider.ts

示例4: Buffer

    let deferredArray = this.drivers_.map((driver: WebDriver) => {
      let deferred = q.defer();
      driver.getSession().then((session: Session) => {
        let headers: Object = {
          'Content-Type': 'application/json',
          'Authorization': 'Basic ' +
              new Buffer(this.config_.browserstackUser + ':' + this.config_.browserstackKey)
                  .toString('base64')
        };
        let options = {
          hostname: 'www.browserstack.com',
          port: 443,
          path: '/automate/sessions/' + session.getId() + '.json',
          method: 'GET',
          headers: headers
        };

        let req = https.request(options, (res) => {
          res.on('data', (data: Buffer) => {
            let info = JSON.parse(data.toString());
            if (info && info.automation_session && info.automation_session.browser_url) {
              logger.info(
                  'BrowserStack results available at ' + info.automation_session.browser_url);
            } else {
              logger.info(
                  'BrowserStack results available at ' +
                  'https://www.browserstack.com/automate');
            }
          });
        });
        req.end();
        req.on('error', (e: Error) => {
          logger.info(
              'BrowserStack results available at ' +
              'https://www.browserstack.com/automate');
        });
        let jobStatus = update.passed ? 'completed' : 'error';
        options.method = 'PUT';
        let update_req = https.request(options, (res) => {
          let responseStr = '';
          res.on('data', (data: Buffer) => {
            responseStr += data.toString();
          });
          res.on('end', () => {
            logger.info(responseStr);
            deferred.resolve();
          });
          res.on('error', (e: Error) => {
            throw new BrowserError(
                logger, 'Error updating BrowserStack pass/fail status: ' + util.inspect(e));
          });
        });
        update_req.write('{"status":"' + jobStatus + '"}');
        update_req.end();
      });
      return deferred.promise;
    });
开发者ID:MexicanAce,项目名称:protractor,代码行数:57,代码来源:browserStack.ts

示例5: Error

 let mappedDrivers = this.drivers_.map(async (driver: WebDriver) => {
   const session = await driver.getSession();
   logger.info('SauceLabs results available at http://saucelabs.com/jobs/' + session.getId());
   this.sauceServer_.updateJob(session.getId(), update, (err: Error) => {
     if (err) {
       throw new Error('Error updating Sauce pass/fail status: ' + util.inspect(err));
     }
   });
 });
开发者ID:angular,项目名称:protractor,代码行数:9,代码来源:sauce.ts

示例6: Error

 let deferredArray = this.drivers_.map((driver: WebDriver) => {
   let deferred = q.defer();
   driver.getSession().then((session: Session) => {
     logger.info('SauceLabs results available at http://saucelabs.com/jobs/' + session.getId());
     this.sauceServer_.updateJob(session.getId(), update, (err: Error) => {
       if (err) {
         throw new Error('Error updating Sauce pass/fail status: ' + util.inspect(err));
       }
       deferred.resolve();
     });
   });
   return deferred.promise;
 });
开发者ID:igniteram,项目名称:protractor,代码行数:13,代码来源:sauce.ts

示例7: BrowserError

    let deferredArray = this.drivers_.map((driver: WebDriver) => {
      let deferred = q.defer();

      driver.getSession().then((session: Session) => {

        // Fetching BrowserStack session details.
        this.browserstackClient.getSession(
            session.getId(), function(error: Error, automate_session: any) {
              if (error) {
                logger.info(
                    'BrowserStack results available at ' +
                    'https://www.browserstack.com/automate');
              } else {
                if (automate_session && automate_session.browser_url) {
                  logger.info('BrowserStack results available at ' + automate_session.browser_url);
                } else {
                  logger.info(
                      'BrowserStack results available at ' +
                      'https://www.browserstack.com/automate');
                }
              }
            });

        let jobStatus = update.passed ? 'completed' : 'error';
        let statusObj = {status: jobStatus};

        // Updating status of BrowserStack session.
        this.browserstackClient.updateSession(
            session.getId(), statusObj, function(error: Error, automate_session: any) {
              if (error) {
                throw new BrowserError(
                    logger, 'Error updating BrowserStack pass/fail status: ' + util.inspect(error));
              } else {
                logger.info(automate_session);
                deferred.resolve();
              }
            });
      });
      return deferred.promise;
    });
开发者ID:DylanLacey,项目名称:protractor,代码行数:40,代码来源:browserStack.ts

示例8: TestWebDriver

function TestWebDriver() {
    let session: webdriver.Session = new webdriver.Session('ABC', webdriver.Capabilities.android());
    let httpClient: http.HttpClient = new http.HttpClient('http://someserver');
    let executor: http.Executor = new http.Executor(httpClient);
    let flow: webdriver.promise.ControlFlow = new webdriver.promise.ControlFlow();
    let driver: webdriver.WebDriver = new webdriver.WebDriver(session, executor);
    driver = new webdriver.WebDriver(session, executor, flow);
    driver = new webdriver.WebDriver(sessionPromise, executor);
    driver = new webdriver.WebDriver(sessionPromise, executor, flow);

    let voidPromise: webdriver.promise.Promise<void>;
    let stringPromise: webdriver.promise.Promise<string>;
    let webElementPromise: webdriver.WebElementPromise;

    let actions: webdriver.ActionSequence = driver.actions();
    let touchActions: webdriver.TouchSequence = driver.touchActions();

    // call
    stringPromise = driver.call<string>(() => 'value');
    stringPromise = driver.call<string>(() => stringPromise);
    stringPromise = driver.call<string>(() => 'value', driver);
    stringPromise = driver.call<string>((a: number) => 'value', driver, 1);

    voidPromise = driver.close();
    flow = driver.controlFlow();

    // executeAsyncScript
    stringPromise = driver.executeAsyncScript<string>('function(){}');
    stringPromise = driver.executeAsyncScript<string>('function(){}', 1, 2, 3);
    stringPromise = driver.executeAsyncScript<string>(() => {});
    stringPromise = driver.executeAsyncScript<string>((a: number) => {}, 1);

    // executeScript
    stringPromise = driver.executeScript<string>('function(){}');
    stringPromise = driver.executeScript<string>('function(){}', 1, 2, 3);
    stringPromise = driver.executeScript<string>(() => {});
    stringPromise = driver.executeScript<string>((a: number) => {}, 1);

    // findElement
    let element: webdriver.WebElement;
    element = driver.findElement(webdriver.By.id('ABC'));
    element = driver.findElement(webdriver.By.js('function(){}'));

    // findElements
    driver.findElements(webdriver.By.className('ABC')).then((elements: webdriver.WebElement[]) => {});
    driver.findElements(webdriver.By.js('function(){}')).then((elements: webdriver.WebElement[]) => {});

    voidPromise = driver.get('http://www.google.com');
    driver.getAllWindowHandles().then((handles: string[]) => {});
    driver.getCapabilities().then((caps: webdriver.Capabilities) => {});
    stringPromise = driver.getCurrentUrl();
    stringPromise = driver.getPageSource();
    driver.getSession().then((session: webdriver.Session) => {});
    stringPromise = driver.getTitle();
    stringPromise = driver.getWindowHandle();

    let options: webdriver.Options = driver.manage();
    let navigation: webdriver.Navigation = driver.navigate();
    let locator: webdriver.TargetLocator = driver.switchTo();

    let fileDetector: webdriver.FileDetector = new webdriver.FileDetector();
    driver.setFileDetector(fileDetector);

    voidPromise = driver.quit();
    voidPromise = driver.schedule<void>(new webdriver.Command(webdriver.CommandName.CLICK), 'ABC');
    voidPromise = driver.sleep(123);
    stringPromise = driver.takeScreenshot();

    booleanPromise = driver.wait(booleanPromise);
    booleanPromise = driver.wait(booleanCondition);
    booleanPromise = driver.wait((driver: webdriver.WebDriver) => true);
    booleanPromise = driver.wait((driver: webdriver.WebDriver) => Promise.resolve(true));
    booleanPromise = driver.wait((driver: webdriver.WebDriver) => webdriver.promise.Promise.resolve(true));
    booleanPromise = driver.wait(booleanPromise, 123);
    booleanPromise = driver.wait(booleanPromise, 123, 'Message');
    webElementPromise = driver.wait(webElementCondition);
    voidPromise = driver.wait(webElementCondition).click();

    driver = webdriver.WebDriver.attachToSession(executor, 'ABC');
    driver = webdriver.WebDriver.createSession(executor, webdriver.Capabilities.android());
}
开发者ID:Rick-Kirkham,项目名称:DefinitelyTyped,代码行数:81,代码来源:index.ts

示例9: TestWebDriver

function TestWebDriver() {
    var session: webdriver.Session = new webdriver.Session('ABC', webdriver.Capabilities.android());
    var sessionPromise: webdriver.promise.Promise<webdriver.Session>;
    var executor: webdriver.Executor = executors.createExecutor('http://someserver');
    var flow: webdriver.promise.ControlFlow = new webdriver.promise.ControlFlow();
    var driver: webdriver.WebDriver = new webdriver.WebDriver(session, executor);
    driver = new webdriver.WebDriver(session, executor, flow);
    driver = new webdriver.WebDriver(sessionPromise, executor);
    driver = new webdriver.WebDriver(sessionPromise, executor, flow);

    var voidPromise: webdriver.promise.Promise<void>;
    var stringPromise: webdriver.promise.Promise<string>;
    var booleanPromise: webdriver.promise.Promise<boolean>;

    var actions: webdriver.ActionSequence = driver.actions();
    var touchActions: webdriver.TouchSequence = driver.touchActions();

    // call
    stringPromise = driver.call<string>(function () { return 'value'; });
    stringPromise = driver.call<string>(function () { return stringPromise; });
    stringPromise = driver.call<string>(function () { var d: any = this; return 'value'; }, driver);
    stringPromise = driver.call<string>(function (a: number) { return 'value'; }, driver, 1);

    voidPromise = driver.close();
    flow = driver.controlFlow();

    // executeAsyncScript
    stringPromise = driver.executeAsyncScript<string>('function(){}');
    stringPromise = driver.executeAsyncScript<string>('function(){}', 1, 2, 3);
    stringPromise = driver.executeAsyncScript<string>(function () { });
    stringPromise = driver.executeAsyncScript<string>(function (a: number) { }, 1);

    // executeScript
    stringPromise = driver.executeScript<string>('function(){}');
    stringPromise = driver.executeScript<string>('function(){}', 1, 2, 3);
    stringPromise = driver.executeScript<string>(function () { });
    stringPromise = driver.executeScript<string>(function (a: number) { }, 1);

    // findElement
    var element: webdriver.WebElement;
    element = driver.findElement(webdriver.By.id('ABC'));
    element = driver.findElement(webdriver.By.js('function(){}'));

    // findElements
    driver.findElements(webdriver.By.className('ABC')).then(function (elements: webdriver.WebElement[]) { });
    driver.findElements(webdriver.By.js('function(){}')).then(function (elements: webdriver.WebElement[]) { });

    voidPromise = driver.get('http://www.google.com');
    driver.getAllWindowHandles().then(function (handles: string[]) { });
    driver.getCapabilities().then(function (caps: webdriver.Capabilities) { });
    stringPromise = driver.getCurrentUrl();
    stringPromise = driver.getPageSource()
    driver.getSession().then(function (session: webdriver.Session) { });;
    stringPromise = driver.getTitle();
    stringPromise = driver.getWindowHandle();

    booleanPromise = driver.isElementPresent(webdriver.By.className('ABC'));
    booleanPromise = driver.isElementPresent(webdriver.By.js('function(){}'));

    var options: webdriver.Options = driver.manage();
    var navigation: webdriver.Navigation = driver.navigate();
    var locator: webdriver.TargetLocator = driver.switchTo();

    var fileDetector: webdriver.FileDetector = new webdriver.FileDetector();
    driver.setFileDetector(fileDetector);

    voidPromise = driver.quit();
    voidPromise = driver.schedule<void>(new webdriver.Command(webdriver.CommandName.CLICK), 'ABC');
    voidPromise = driver.sleep(123);
    stringPromise = driver.takeScreenshot();

    var booleanCondition: webdriver.until.Condition<boolean>;
    booleanPromise = driver.wait(booleanPromise);
    booleanPromise = driver.wait(booleanCondition);
    booleanPromise = driver.wait(function (driver: webdriver.WebDriver) { return true; });
    let conditionFunction: Function;
    booleanPromise = driver.wait(conditionFunction);
    booleanPromise = driver.wait(booleanPromise, 123);
    booleanPromise = driver.wait(booleanPromise, 123, 'Message');

    driver = webdriver.WebDriver.attachToSession(executor, 'ABC');
    driver = webdriver.WebDriver.createSession(executor, webdriver.Capabilities.android());
}
开发者ID:ArtemZag,项目名称:DefinitelyTyped,代码行数:83,代码来源:index.ts


注:本文中的selenium-webdriver.WebDriver.getSession方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。