jeudi 4 juillet 2019

Automation Testing with Selenium and Node.js

I am trying to write automated test with Selenium and JS by using LambdaTest, I followed all the step on this video https://www.youtube.com/watch?v=6XbgNXcLUSE&t=370s

Install Nodejs Download Selenium (npm install selenium-webdriver) Download Chromedriver Test

How ever when I run the last command "node test.js" I keep getting this error .Any idea where I have been doing wrong?

c:***>node test.js (node:15708) UnhandledPromiseRejectionWarning: Error: ETIMEDOUT connect ETIMEDOUT 35.157.187.40:443 at ClientRequest. (c:****\node_modules\selenium-webdriver\http\index.js:258:15) at ClientRequest.emit (events.js:198:13) at TLSSocket.socketErrorListener (_http_client.js:392:9) at TLSSocket.emit (events.js:198:13) at emitErrorNT (internal/streams/destroy.js:91:8) at emitErrorAndCloseNT (internal/streams/destroy.js:59:3) at process._tickCallback (internal/process/next_tick.js:63:19) (node:15708) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). (rejection id: 1) (node:15708) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code. (node:15708) UnhandledPromiseRejectionWarning: Error: ETIMEDOUT connect ETIMEDOUT 35.157.187.40:443 at ClientRequest. (c:***\node_modules\selenium-webdriver\http\index.js:258:15) at ClientRequest.emit (events.js:198:13) at TLSSocket.socketErrorListener (_http_client.js:392:9) at TLSSocket.emit (events.js:198:13) at emitErrorNT (internal/streams/destroy.js:91:8) at emitErrorAndCloseNT (internal/streams/destroy.js:59:3) at process._tickCallback (internal/process/next_tick.js:63:19) (node:15708) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). (rejection id: 2)

/*
    LambdaTest selenium automation sample example
    Configuration
    ----------
    username: Username can be found at automation dashboard
    accessKey:  AccessKey can be generated from automation dashboard or profile section

    Result
    -------
    Execute NodeJS Automation Tests on LambdaTest Distributed Selenium Grid
*/
const webdriver = require("selenium-webdriver");

/*
    Setup remote driver
    Params
    ----------
    platform : Supported platform - (Windows 10, Windows 8.1, Windows 8, Windows 7,  macOS High Sierra, macOS Sierra, OS X El Capitan, OS X Yosemite, OS X Mavericks)
    browserName : Supported platform - (chrome, firefox, Internet Explorer, MicrosoftEdge, Safari)
    version :  Supported list of version can be found at https://www.lambdatest.com/capabilities-generator/
*/

// username: Username can be found at automation dashboard
const USERNAME = "hide";

// AccessKey:  AccessKey can be generated from automation dashboard or profile section
const KEY = "hide";

// gridUrl: gridUrl can be found at automation dashboard
const GRID_HOST = "hub.lambdatest.com/wd/hub";

function searchTextOnGoogle() {
  // Setup Input capabilities
  const capabilities = {
    platform: "windows 10",
    browserName: "chrome",
    version: "67.0",
    resolution: "1280x800",
    network: true,
    visual: true,
    console: true,
    video: true,
    name: "Test 123", // name of the test
    build: "NodeJS build 23" // name of the build
  };

  // URL: https://{username}:{accessKey}@hub.lambdatest.com/wd/hub
  const gridUrl = "https://" + USERNAME + ":" + KEY + "@" + GRID_HOST;

  // setup and build selenium driver object
  const driver = new webdriver.Builder()
    .usingServer(gridUrl)
    .withCapabilities(capabilities)
    .build();

  // // navigate to a url, search for a text and get title of page
  // driver.get('https://www.google.com/ncr').then(function() {
  //     driver.findElement(webdriver.By.name('q')).sendKeys('LambdaTest\n').then(function() {
  //         driver.getTitle().then(function(title) {
  //             setTimeout(function() {
  //                 console.log(title);
  //                 driver.quit();
  //             }, 5000);
  //         });
  //     });
  // });

  driver.get("https://www.google.com").then(function() {
    driver
      .findElement(webdriver.By.linkText("Automation"))
      .click()
      .then(function() {
        driver.getTitle().then(function(title) {
          setTimeout(function() {
            console.log(title);
            driver.quit();
          }, 5000);
        });
      });
  });
}
searchTextOnGoogle();

Aucun commentaire:

Enregistrer un commentaire