質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
UWSC

UWSCは、Windowsの作業を自動化するソフトです。マウスとキー入力を記録して代行することが可能。スクリプト形式により自由に編集することもできます。スケジュール機能を持ち、Excelとの連携も可能です。

RPA

RPA(Robotic Process Automation)は、ホワイトカラーの間接業務を人間に代行して自動的に行う技術や概念を指します。人間が繰り返すクリックやキーボード入力といった定型的なデスクワークを行うことから、仮想知的労働者(Digital Labor)と呼ばれることがあります。

Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

Q&A

1回答

2510閲覧

JAVAアプリをWINDOWSでRPAのように操作したい

kazuya_

総合スコア82

UWSC

UWSCは、Windowsの作業を自動化するソフトです。マウスとキー入力を記録して代行することが可能。スクリプト形式により自由に編集することもできます。スケジュール機能を持ち、Excelとの連携も可能です。

RPA

RPA(Robotic Process Automation)は、ホワイトカラーの間接業務を人間に代行して自動的に行う技術や概念を指します。人間が繰り返すクリックやキーボード入力といった定型的なデスクワークを行うことから、仮想知的労働者(Digital Labor)と呼ばれることがあります。

Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

0グッド

0クリップ

投稿2020/06/01 11:51

ORACLE社から、WINDOWS内でJAVAアプリの内部API?を見えるようにするインターフェース(accessbridge-2_0_2-fcs-bin-b06.exe)がダウンロードできます。動作確認するため、UWSCでの動作確認用ソースで、試しましたが
うまくいきませんでした。もし、他に動作確認方法があれば教えてください。まず、内部のコントロールのIDは
どうやって調べるのでしょうか?SPY++のようなツールがあるのでしょうか?
UWSCでは下記のコードを利用させてもらいました。
<結果>
ChkBtn関数おOpenと Saveでコードが必ずtrueになってしまい、"Open" ,"save"だけが表示されます
CllItem以下は表示されず

<UWSCコード>
// Javaアプリは ACC(アクセシビリティインターフェース)指定の必要あり
デモ名 = "FileChooserDemo"
パス = "C:\Program Files\Java\demo\jfc"
DosCmd("java <#DBL>"+パス+""+デモ名+".java<#DBL>", True)
id = GETID(デモ名, "SunAwtFrame", -1)
if ChkBtn(id, "Open", 1, True) then print "Open" // Dialog Tyep チェック
if ChkBtn(id, "Save", 1, True) then print "Save"
Sleep(2)
ClkItem(id, "Custom", CLK_ACC, True) // Custom クリック
SendStr(id, "書き込み", 1, True, True) // 文字書き込み
ClkItem(id, "Metal", CLK_ACC, True) // Look and Feel

<accessbridge-2_0_2-fcs-bin-b06.exe設定>

http://www.oracle.com/technetwork/java/javase/tech/index-jsp-136191.html
から
Java Access Bridge for Microsoft Windows Operating System 2.0 をインストールしてください
64bit版 Windowsへインストールする場合
※ JREは32ビット版を使用してください
・ WindowsAccessBridge.dll を C:\Windows\SysWOW64 へコピー
・ accessibility.properties を C:\Program Files (x86)\Java\jre7\lib へコピー
・ access-bridge.jar、jaccess.jar を C:\Program Files (x86)\Java\jre7\lib\ext へコピー
・ JavaAccessBridge.dll、JAWTAccessBridge.dll を C:\Program Files (x86)\Java\jre7\bin へコピー

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

yamap55

2020/06/01 12:51

Java Access BridgeはJava6以前のアプリケーションで必要なものなようで、Java7以降はJREに含まれていると記載がありましたが、手元のJava8と11では見つかりませんでした。 また、取得したいという「内部のコントロールのID」とは何でしょうか?内部とは何の内部?Javaですか?
kazuya_

2020/06/02 01:52

ありがとうございます。 確かに、JAVA8を見ますと、入っていましたが場所は異なり、ファイル名も 少し異なりました。(jdk1.8.0_251\jreの下ディレクトリにあり末尾-32.dllになる) このデフォルトの状態でUWSCを動かしました <結果> アイテム名 OpenをOpen2にしても、"Open"と表示され、必ずTRUEが返るようです。Saveも同様でした。SendStrもすべてTRUEが返るようで"書き込み"と表示されました。 UWSCはJAVAの内部にアクセスできていないと思われます 内部コントールIDは、わかりにくい表現でした、すみません、 WINDOWSのウィンドウハンドルになります。 JAVAの各ボタン等をクリックしたり、テキストを書き換えたりするため、コーディング サンプルも欲しいです。 もしウィンドウハンドルに代わるものがありましたら、知りたいです。
guest

回答1

0

JAVAアプリは動くと仮定しまして、SPY++を使いたい場合は場合は、こちらを参考にして下さい。
他にもwinAppDriverというToolも存在するので、色々試して自分に合うのを使って下さい。

投稿2020/06/02 00:39

stdio

総合スコア3307

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

kazuya_

2020/06/02 13:13

いろいろ知らないTOOLを教えていただき、ありがとうございます。 UI自動化テストを前に、VS2015でやったことがあります。 今回は、JAVAアプリで、SPY++で出来るかやりましたが、最上部のWINDOWのハンドル しか取れないです。そのため、質問を投稿させていただきました。 ご紹介いただいた中にJAVAアプリの制御ができるものがあるでしょうか? C#かVBで作りたいですが、WINアプリだけのように見えました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問