2017-02-26 5 views
3

Dies ist mein erster Versuch mit selenium-webdriver auf NodeJs in Windows 7 Umgebung. Hier ist, was ich habe, um zu versuchen getan, damit es funktioniert:Running Selen auf NodeJs

  1. installiert NodeJs 7.5 (offiziell von Selen unterstützt wie bereits erwähnt auf ihre Git https://github.com/SeleniumHQ/selenium/tree/master/javascript/node/selenium-webdriver)
  2. selenium-webdriver Installed mit npm
  3. heruntergeladen chromedriver.exe 2.27 zu "C:\Selenium Utilities\chromedriver"
  4. Hinzugefügt chromedriver zu meinem PATH als C:\Selenium Utilities\chromedriver;
  5. Hinzugefügt meinen ersten Test von Seleni um Git Seite:

    var webdriver = require('selenium-webdriver'), 
         By = webdriver.By, until = webdriver.until; 
    
    var driver = new webdriver.Builder() 
        .forBrowser('chrome') 
        .build(); 
    
    driver.get('http://www.google.com/ncr'); 
    driver.findElement(By.name('q')).sendKeys('webdriver'); 
    driver.findElement(By.name('btnG')).click(); 
    driver.wait(until.titleIs('webdriver - Google Search'), 1000); 
    driver.quit(); 
    
  6. Versuchte Lauftest über node test.js

Als Ergebnis erhalte ich Fehlermeldung, (Auszüge):

"...throw new Error('Do not know how to build driver: ' + browser"

"Error: Do not know how to build driver: C; did you forget to call usingServer(url)?"

Was mache ich falsch? Muss ich einen separaten Selenium-Server betreiben, um das auszuführen?

+0

Haben Sie es gelöst? – Pipe

Antwort

2

Ihr Code sah für mich gut aus, also habe ich ihn ausgeführt, um das zu überprüfen. Ich kann es bestätigen runs fine (auf MacOS Sierra). Here's a link to the repo I created.

Es sieht so aus, als müssten Sie die Wartezeit für den Seitentitel verlängern, manchmal fand ich das Laden des Seitentitels von Google länger als eine Sekunde.

Eine andere Option wäre, einen gehosteten Dienst auszuprobieren, anstatt einen eigenen Seleniumserver einzurichten. Es gibt eine Vielzahl verfügbar, ich habe gerade Obehave für genau diesen Zweck gemacht. Es ist kein Setup erforderlich - Sie können sofort damit beginnen, Ihre Tests zu schreiben.

0

Installieren Sie den Chromtreiber über NPM.

npm install chromedriver --save-dev 

Dann fügen Sie Chrom auf der js:

var chrome = require('selenium-webdriver/chrome'); 

Schließlich Skript:

var webdriver = require('selenium-webdriver'), 
     By = webdriver.By, until = webdriver.until; 
     var webdriver = require('selenium-webdriver'); 

var chrome = require('selenium-webdriver/chrome'); 

var driver = new webdriver.Builder() 
    .forBrowser('chrome') 
    .build(); 

driver.get('http://www.google.com/ncr').then(function(){ 
    driver.findElement(By.name('q')).sendKeys('webdriver'); 
    driver.findElement(By.name('btnK')).click(); 
    driver.quit(); 
});