2017-09-15 25 views
1

Selenium.WebDriver.ChromeDriverを使用するC#Azureクラウドサービスを作成しましたが、Azureに展開すると機能しません(ローカルそれはうまく動作します - おそらく私はChromeがインストールされているためです)。 私のサービスでchromedriver.exeをデプロイしますが、chrome.exeが見つからないため失敗します。 chrome.exeのコピーを展開しようとしましたが、うまくいかなかった。私もGoogleChromeのnugetパッケージを追加しようとしましたが、これもうまくいきませんでした。ChromeDriverをAzureクラウドサービスで使用するC#Azureサービスを取得する方法

誰でも、Selenium/Chromedriverを使用してC#Azureサービスを利用する方法を知っていますか?

  • あなたのサービス定義ファイルの行を呼び出すために

  • 答えて

    2

    3つのことは、あなたがこの

    • ChromeSetup.exeをファイルには、あなたのCloudService /役割/ロールディレクトリに含まアズールcloudservice上で実行するために取得する必要があります起動スクリプトは

    は、右の自分の役割のベーネの名前をクリックし、ChromeSetup.exeをを追加するには、あなたのWorkerロールのプロジェクトに含まれる上記のファイル

  • を実行するスタートアップスクリプトクラウドサービスを開始して「アイテムを追加」し、最後にクロムインストーラをダウンロードした場所を見つけます。例を以下の最近のプロジェクトから -

    Example of Where to Add ChromeSetup.exe from recent project

    スタートアップタスクがServiceDefinition.cdefファイルに行くことによって追加されます。上記のタスクが呼び出されます

    <WorkerRole name="WebReportDownloader" vmsize="Small"> 
    <Startup> 
        <Task commandLine="Initialization\Startup.cmd" executionContext="elevated" taskType="simple"> 
        <Environment> 
         <Variable name="MyVersionNumber" value="1.0.0.0" /> 
        </Environment> 
        </Task> 
    </Startup> 
    

    スクリプトは非常にシンプルで、テキストファイルには、何もロギングは私の読書からのオプションです:

    ECHO The current version is %MyVersionNumber% >> "%TEMP%\StartupLog.txt" 2>&1 
    START ChromeSetup.exe 
    EXIT /B 0 
    

    がうまくいけば、これはあなたに私が一緒に縫い合わせている間に走った悲しみの一部が保存されますいくつかのリソース...

  • 1

    Chromeをインストールすることなく、これを行う別の方法が見つかりました.Chromeを使用する代わりにChromiumを使用しました。このため

    は、私はちょうどそれは私のバイナリディレクトリに解凍している https://chromium.woolyss.com/download/からクロムアーカイブをダウンロードした - これはまだChrome.exeがバイナリ持っていますが、

    をインストールする必要はありません。
    関連する問題