2016-06-23 1 views
0

私は、希望のシェルを介してSelenium Web Driverを起動する際に問題に直面しています。 私は以下の方法を使用しました。Tcl Shellから非ブロッキングのSelenium Webドライバを起動するには?

次のコマンドは、セレンドライバを起動しますが

exec cmd /C java -jar C:/selenium/selenium-server-standalone-2.45.0.jar -Dwebdriver.chrome.driver=C:/selenium/chromedriver.exe 

を返すことはありません願いシェルAMDブロックを返すことはありません。

ノンブロッキングで起動する方法はありますか?

も成功せず、次を試してみました:

eval exec "java -jar C:/selenium/selenium-server-standalone-2.45.0.jar -Dwebdriver.chrome.driver=C:/selenium/chromedriver.exe" 

出力:

Registry key 'Software\JavaSoft\Java Runtime Environment\CurrentVersion' 
has value '1.8', but '1.6' is required. 
Error: could not find java.dll 
Error: could not find Java SE Runtime Environment. 

exec "java -jar C:/selenium/selenium-server-standalone-2.45.0.jar -Dwebdriver.chrome.driver=C:/selenium/chromedriver.exe" 

出力に対し:

couldn't execute "java -jar C:\selenium\selenium-server-standalone-2.45.0.jar -Dwebdriver.chrome.driver=C:\selenium\chromedriver.exe": No error 

答えて

1

サブプロセスの実行は、非同期および切断させるためにexecの最後の引数として&を置く:

exec java -jar C:/selenium/selenium-server-standalone-2.45.0.jar -Dwebdriver.chrome.driver=C:/selenium/chromedriver.exe & 

おそらくcmd /Cを必要としない、間違いevalを必要としません。あなたはサブプロセスが終了すると、あなたの代わりにパイプラインを使用して検出できるようにする必要がある場合

set selenium C:/selenium/selenium-server-standalone-2.45.0.jar 
set driver C:/selenium/chromedriver.exe 
exec java -jar $selenium -Dwebdriver.chrome.driver=$driver & 

:多くはである何、あなたは読みやすさのためにその原料のいくつかを考慮することができます

# Basic configuration 
set seleniumDirectory C:/selenium 
set seleniumVersion 2.45.0 
# Convert to actual paths 
set selenium [file join $seleniumDirectory selenium-server-standalone-$seleniumVersion.jar] 
set driver [file join $seleniumDirectory chromedriver.exe] 
# Use them 
set pipeline [open |[list java -jar $selenium -Dwebdriver.chrome.driver=$driver] r] 

次に、読み取り可能なfileeventを設定して、パイプラインが反対側で閉じられたときに通知を受け取るようにすることができます。他の時にもパイプから読み込む必要があります。いくつかの実験が必要になるかもしれません。

パイプラインを作成するための構文はちょっとファンキーです。はい、|は、の前にあり、の前には、[listです。それは恐ろしい歴史的な理由のためです...

0

これは動作しますが、ノンブロッキングのcmdコールを起動できるかどうかを知っておくと良いでしょう。

スレッド:: create {exec cmd/C "java -jar C:/selenium/selenium-server-standalone-2.53.0.jar -Dwebdriver.chrome.driver = C:/selenium/chromedriver.exe"}

関連する問題