1

ドッカーコンテナでヘッドレスChromeを実行する方法を理解しようとしていました。それから私はthisを見つけました。 しかし、私はそのコンテナでテストを実行する方法を理解できません。コンテナ内のヘッドレスクロムへのプチタイアー

誰かが私に何か一般的な方向を教えてもらえますか?Pupeeteerのドキュメントを見てみましたが、何も見つかりませんでした。 多分野生の中に、カルマやコンテナ内のテストを実行して結果を記録するのに使うことができる最小限の例があるかもしれません。

私はコンテナの外でjavascriptをコンパイル/バンドルしたいだけで、コンパイル/バンドルされたテストを実行するために使用します。

たぶん後、私はおそらく別の容器に、外部のWebサーバを実行しても、私の受け入れテストを実行するために同じアプローチを使用したいが、今回ます。

私の最終目標は、Clojurescriptで書かれた一連のテストを実行できるようにすることです。誰もまだそのようなことはしていませんが、私は思っていません。多分誰かが持っている。

答えて

0

私はゲームプランをスケッチしていると思う:Chromeが実行されている場合、今、あなたはhttp://localhost:9222を開いて確認することができます

docker run -it --rm -p=0.0.0.0:9222:9222 --name=chrome-headless \ 
-v /tmp/chromedata/:/data alpeware/chrome-headless-trunk 
  • :、

    • 第一容器を実行する必要があります。 1つのタブが表示されます。

      curl http://localhost:9222/json 
      
      # should get you something like this: 
      
      [{"description": "", 
          "devtoolsFrontendUrl": "/devtools/inspector.html?ws=localhost:9222/devtools/page/2f428ea1-7229-484c-b7c7-57ef2f098ffe", 
          "id": "2f428ea1-7229-484c-b7c7-57ef2f098ffe", 
          "title": "Google", 
          "type": "page", 
          "url": "https://www.google.com/", 
          "webSocketDebuggerUrl": "ws://localhost:9222/devtools/page/2f428ea1-7229-484c-b7c7-57ef2f098ffe"}] 
      
    • を今あなたには、いくつかのクレイジーなものを接続して行うために人形遣いを使用することができます:

      const puppeteer = require('puppeteer'); 
      
      puppeteer.connect({ 
          browserWSEndpoint: "ws://localhost:9222/devtools/page/2f428ea1-7229-484c-b7c7-57ef2f098ffe" 
      }).then (async browser => { 
          const page = await browser.newPage(); 
          await page.goto('https://www.google.com'); 
          ;; you just opened another tab 
      }); 
      

    これは今、すべていいです私たちが実行して、そのタブのwebsocketUrlを見つける必要がある 私はつもりだこれらすべてのレンガのうち

    「家を建てます」
  • 関連する問題