2016-04-10 11 views
-1

autoIt .exeファイルをルビーコードで実行したい。私のファイルはデスクトップ上に存在します。 Selenium Ruby WebdriverスクリプトでAutoITツールで生成された.exeファイルを実行する方法を教えてください。ルビ付きAutoItファイルを実行する

私のシナリオでは、Flashボタンをクリックしてファイルをアップロードしてから、[開く]ウィンドウのポップアップでファイルを選択する必要があります。しかし、Seleniumはウィンドウのポップアップと対話できないため、AutoITツールを使用してファイルパスを埋め、.exeファイルに生成しました。私がしたいことは、 "Open"ウィンドウのポップアップが表示された後、AutoITツールで生成されたexeファイルをSeleniumが実行するようにすることです。 は下に私のコードです:

$driver=Selenium::WebDriver.for :ff 
    $driver.get "http://url/uploadform/contactform.php" 
    $driver.manage.window.maximize 
$driver.find_element(:xpath,".//input[@id='photo']").send_keys("C:/Users/xyz/Desktop/logo_icon.png") 
    $driver.find_element(:xpath,".//input[@id='photo']").click 

    # au3=WIN32OLE.new("C:\\Users\\Aditya\\Desktop\\test.exe") 

file = File.open("C:/Users/Aditya/Desktop/test.exe", "r") 

contents = file.read 

ここTEST.EXEが私のAutoItファイルです。

+0

はSOへようこそ。問題は...? "[ask]"と "[mcve]"をお読みください。あなたは私たちに十分な話をしていない。 –

答えて

1

あなたは、次のコマンドのいずれかに見たいと思うかもしれません:

  • システム( "コマンド")
  • `command`(バッククォート)または%x{}構文
  • 卵( "コマンド")

これらは、返される内容と開始方法によって異なります。

command = "C:\\Users\\Aditya\\Desktop\\test.exe" 

system(command) 
%x`#{command}` 
spawn(command) 
+0

迅速な対応をありがとう – Aditya1510

0

私はケースのAutoItでプロセスを使用していたが、誰もがバッチファイルを開きたい場合は、彼は上記のコメントで@Uzbekjonが言及した答えを使用することができます。私の質問に

ワンライナーの答えは次のとおりです。 Process.exec(「それはファイルの自動の道」)

関連する問題