このノートでは、Chrome ブラウザの ChromeDriver の自動テストを実行する実装について説明します。これは、Emscripten を使用して C++ から翻訳されたモジュール自動テストを実行し、コンソール出力を読み取り、テスト結果を返します。
まず、Selenium をインストールする必要があります。Python 3-Ubuntu の場合、これは次のように行われます。
pip3 install selenium
次に、公式 Web サイトから ChromeDriver をダウンロードし、chromedriver を /usr/local/bin に配置します。その後、自動テストの実装を開始できます。
以下に、Emscripten で自動テスト ページを開いた状態で Chrome ブラウザを起動し、「Window test succeded」というテキストの存在をチェックする自動テスト コードを示します。
import time
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.common.desired_capabilities import DesiredCapabilities
capabilities = DesiredCapabilities.CHROME
capabilities['goog:loggingPrefs'] = { 'browser':'ALL' }
driver = webdriver.Chrome()
driver.get("http://localhost/windowInitializeTest/indexFullscreen.html")
time.sleep(2)
exitCode = 1
for entry in driver.get_log('browser'):
if entry["source"] == "console-api":
message = entry["message"]
if "Window test succeded" in message:
print("Test succeded")
exitCode = 0
driver.close()
exit(exitCode)
テストを main.py として保存し、python3 main.py を実行します