パークのソフトウエア開発者ブログ|ICT技術(Java・Android・iPhone・C・Ruby)なら株式会社パークにお任せください -6ページ目

パークのソフトウエア開発者ブログ|ICT技術(Java・Android・iPhone・C・Ruby)なら株式会社パークにお任せください

開発の解決方法や新しい手法の情報を、パークのエンジニアが提供します。パークのエンジニアが必要な場合は、ぜひお気軽にお問い合わせ下さい。 株式会社パーク:http://www.pa-rk.co.jp/

IEのアドオンの管理から削除を実行したのに、アドオンの管理に残ったままで

削除ボタンがグレーアウトされてしまい、アドオンの管理からは削除できない

ocxファイルなどを削除する方法のご紹介です。

 

1. 削除したいファイルの場所をアドオンの管理の詳細情報(フォルダー)で確認し、

  コマンドプロンプトを管理者実行で立ち上げてその場所に移動します。

 

 > cd <削除したいファイルの場所>

 

2. 以下のコマンドを実行します。

 

 > regsvr32 /u <削除したいファイル>

 

1.リモート接続中に最小化するとSikuliが動作しない

 

 リモート接続中に画面を最小化してしまうと、リモートセッションがGUIなしのモードになってしまい、Sikuliが正常に動作しません。
 リモート接続元で以下のレジストリキーを追加してください。

 

 ■すべてのユーザ

  以下のキーを検索:
   HKEY_CURRENT_USER\Software\Microsoft\Terminal Server Client
  以下を作成(DWORDで2を指定):
   RemoteDesktop_SuppressWhenMinimized = 2 (DWORD)

  64bitの場合は以下も追加
  以下のキーを検索:
   HKEY_CURRENT_USER\Software\Wow6432Node\Microsoft\Terminal Server Client
  以下を作成(DWORDで2を指定):
   RemoteDesktop_SuppressWhenMinimized = 2 (DWORD)

■カレントユーザ

  以下のキーを検索:
   HKEY_CURRENT_USER\Software\Wow6432Node\Microsoft\Terminal Server Client
  以下を作成(DWORDで2を指定):
  RemoteDesktop_SuppressWhenMinimized = 2 (DWORD)

  64bitの場合は以下も追加
  以下のキーを検索:
   HKEY_CURRENT_USER\Software\Wow6432Node\Microsoft\Terminal Server Client
  以下を作成(DWORDで2を指定):
   RemoteDesktop_SuppressWhenMinimized = 2 (DWORD)
 

2.リモートデスクトップ接続設定

 

  リモートデスクトップを接続する際にクリップボードの共有をはずします。
  sikuliでpast( )を利用している場合等に影響がでてしまいます。


  以下設定方法
  


 

 

 

Sikulix のコマンドラインからの実行方法について

 

Sikulixのコマンドラインからの実行方法は2つあります。

 

1.「*.skl」ファイルからの実行方式

  *.skl形式に保存されていますが、スクリプト一式がZip形式で保存されています。

  skl形式にしてしまえばスクリプト一式のコピー作業などが不要になるかと思います。

 

2.スクリプトが格納されているフォルダを指定しての実行方式

 

「*.skl」ファイルからの実行手順

 

 1.「*.skl」ファイルからの準備

  「ファイルメニュー」 → 実行ファイルとしてエクスポート

  

 

 2.任意のファイル名を指定して[保存]ボタンクリック

   

 

 3.コマンドプロンプトからの実行

   runsikulix.cmd -r Click_Sample.skl で実行可能です。

 

スクリプト格納フォルダからの実行手順

 

 1.コマンドプロンプトからの実行

   C:\sikulix\click_sample.sikuliフォルダにスクリプト一式がある場合

   runsikulix.cmd -r c:\sikulix\click_sample.sikuli

 

 2.実行結果

   

   

 

 

if exists( )の活用


   Find( )やClick( )などでFindFailed が発生し場合、Sikuliの実行が停止してしまいます。

 処理を止めないためにif exists( )を利用します。

 

 exists関数は対象の画像発見されるまで待機します。

 exists([画像] ,タイムアウト値(秒)):タイムアウト値は省略可能です。その場合は3秒となります。

 

  1.以下のように記載し、対象のオブジェクトが発見できなかった場合にFindFailedで停止してしまいます。

   

   

 

  1.if exists( )を利用することにより回避が可能となります。

   

 

   

 

Findall
   複数の同一オブジェクトが存在し、全てのオブジェクトに対して同一処理をさせたい場合に有効です。(全てのボタンをONからOFFに切り替えたい場合等)

   ※イメージの選択順は、Sikuliに依存するため順番にクリックさせたい場合などは注意が必要です。

 

  1.以下のような、同一イメージのボタンを全てクリックするする場合

 

    

 

  2.Findallを指定することにより実行可能です。

    以下、サンプル

    

 

  3.実行結果