7

3selenium-server-standalone-2.33.0.jar を使用して、selenium テスト スイートを起動しています。私は、Firefox と Internet Explorer で完全に正常に動作するテスト スイートを持っています。Google Chrome で実行しようとすると、現在のユーザーに対しては正常に動作します。ローカル システム ユーザーからテストを実行しようとすると (ローカル システム ユーザーとして実行しているコマンド ウィンドウを開きます)、テストが失敗し、Windows レジストリの例外が発生します。実行しようとしているコマンドは次のとおりです。

java -jar selenium-server-standalone-2.33.0.jar -port 5885 -htmlsuite "*googlechrome" "http://www.google.com" "TestSuite.html" "results.html"

これは私が得ている例外です:

HTML suite exception seen:
java.lang.RuntimeException: org.openqa.selenium.os.WindowsRegistryException: Problem while managing
the registry, OS Version '6.1', regVersion1 = false
Build info: version: '2.33.0', revision: '6c40c18', time: '2013-04-09 17:22:56'
System info: os.name: 'Windows 7', os.arch: 'amd64', os.version: '6.1', java.version: '1.6.0_38'
Driver info: driver.version: unknown
    at org.openqa.selenium.server.browserlaunchers.BrowserLauncherFactory.createBrowserLauncher(
BrowserLauncherFactory.java:175)
    at org.openqa.selenium.server.browserlaunchers.BrowserLauncherFactory.getBrowserLauncher(Bro
wserLauncherFactory.java:109)
    at org.openqa.selenium.server.htmlrunner.HTMLLauncher.getBrowserLauncher(HTMLLauncher.java:7
9)
    at org.openqa.selenium.server.htmlrunner.HTMLLauncher.runHTMLSuite(HTMLLauncher.java:139)
    at org.openqa.selenium.server.htmlrunner.HTMLLauncher.runHTMLSuite(HTMLLauncher.java:198)
    at org.openqa.selenium.server.SeleniumServer.runHtmlSuite(SeleniumServer.java:630)
    at org.openqa.selenium.server.SeleniumServer.boot(SeleniumServer.java:305)
    at org.openqa.selenium.server.SeleniumServer.main(SeleniumServer.java:245)
    at org.openqa.grid.selenium.GridLauncher.main(GridLauncher.java:54)
Caused by: org.openqa.selenium.os.WindowsRegistryException: Problem while managing the registry, OS
Version '6.1', regVersion1 = false
Build info: version: '2.33.0', revision: '6c40c18', time: '2013-04-09 17:22:56'
System info: os.name: 'Windows 7', os.arch: 'amd64', os.version: '6.1', java.version: '1.6.0_38'
Driver info: driver.version: unknown
    at org.openqa.selenium.os.WindowsUtils.executeCommand(WindowsUtils.java:558)
    at org.openqa.selenium.os.WindowsUtils.runRegQuery(WindowsUtils.java:627)
    at org.openqa.selenium.os.WindowsUtils.readStringRegistryValue(WindowsUtils.java:447)
    at org.openqa.selenium.os.WindowsUtils.getLocalAppDataPath(WindowsUtils.java:274)
    at org.openqa.selenium.browserlaunchers.locators.GoogleChromeLocator.usualWindowsLauncherLoc
ations(GoogleChromeLocator.java:64)
    at org.openqa.selenium.browserlaunchers.locators.GoogleChromeLocator.usualLauncherLocations(
GoogleChromeLocator.java:50)
    at org.openqa.selenium.browserlaunchers.locators.SingleBrowserLocator.browserDefaultPath(Sin
gleBrowserLocator.java:93)
    at org.openqa.selenium.browserlaunchers.locators.SingleBrowserLocator.findAtADefaultLocation
(SingleBrowserLocator.java:81)
    at org.openqa.selenium.browserlaunchers.locators.SingleBrowserLocator.findBrowserLocation(Si
ngleBrowserLocator.java:50)
    at org.openqa.selenium.browserlaunchers.locators.SingleBrowserLocator.findBrowserLocationOrF
ail(SingleBrowserLocator.java:38)
    at org.openqa.selenium.server.browserlaunchers.BrowserInstallationCache.locateBrowserInstall
ation(BrowserInstallationCache.java:46)
    at org.openqa.selenium.server.browserlaunchers.GoogleChromeLauncher.<init>(GoogleChromeLaunc
her.java:67)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
    at java.lang.reflect.Constructor.newInstance(Unknown Source)
    at org.openqa.selenium.server.browserlaunchers.BrowserLauncherFactory.createBrowserLauncher(
BrowserLauncherFactory.java:164)
    ... 8 more
Caused by: java.lang.RuntimeException: exec return code 1:

ERROR: The system was unable to find the specified registry key or value.

    at org.openqa.selenium.os.WindowsRegistryException.<init>(WindowsRegistryException.java:35)
    ... 25 more

最終的には、Selenium をサービスとして実行できるようにしたいので、Chrome をローカル システム アカウントで動作させる必要があります。私が理解していることから、セレン スタンドアロン jar ファイルには既に Google Chrome ドライバーが含まれているはずなので、ダウンロードする必要はありません。

また、テスト スイートの実行時に、パス変数に Google Chrome を追加する必要があるというエラーが表示される前に。私はそれをしましたが、代わりに上記のエラーが発生しているため、セレンがchrome.exeを見つけることができるように見えます.存在しないレジストリキーを取得するか、見つかった後にchromeを起動できないという問題があります. すべてのユーザーに chrome をインストールしたので、Google chrome は Program Files (x86) にインストールされます。繰り返しますが、Chrome は、現在のアカウント (Chrome のインストールに使用したアカウント) から管理者権限で実行すると、PASS をテストします。この問題に関するヘルプは素晴らしいでしょう!

4

0 に答える 0