NodeJs

2017-02-26 6 views
3

にセレンを実行すると、これがNodeJsWindows 7における環境上のselenium-webdriverと私の最初の試みです。ここで私はそれを動作させることを試みるためにやっていることです:NodeJs

  1. インストールNodeJs 7.5
  2. npm
  3. "C:\Selenium Utilities\chromedriver"
  4. chromedriver.exe 2.27をダウンロード使用してselenium-webdriverをインストール(そのGitのhttps://github.com/SeleniumHQ/selenium/tree/master/javascript/node/selenium-webdriver上に述べたように正式セレンでサポートされています) chromedriverPATHに追加C:\Selenium Utilities\chromedriver;
  5. 私の最初のテストをSeleniから追加しましたUM Gitのページ:私は間違って

    "...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)?"

    何をしています。その結果node test.js

を介してテストを実行しようとしました

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(); 
  • 、私は(抜粋)というエラーを取得しますか?これを実行するには、別のSeleniumサーバーを実行する必要がありますか?

  • +0

    解決しましたか? – Pipe

    答えて

    2

    あなたのコードでは、私には罰金に見えたので、私はそれをチェックするために、それを実行しました。私はそれを確認することができますruns fine(on macOS Sierra)。 Here's a link to the repo I created

    あなたは時々私はロードGoogleのページタイトルが長い第2よりもかかった、しかしページタイトル待ちを拡張する必要がある場合がありますように見えます。

    別のオプションではなく、独自のセレンサーバーを設定するよりも、ホスティングサービスをしようとするだろう。私は、まさにこの目的のためにObehaveを作った、様々な利用可能があります。セットアップは必要ありません。すぐにテストを書くことができます。

    0

    NPM経由chromedriverをインストールします。

    npm install chromedriver --save-dev 
    

    その後JSの上にクロムを追加します。

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

    は、最後にスクリプト:あなたはそれを

    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(); 
    });