使用Sikuli访问MongoDB(第1部分)

使用Sikuli访问MongoDB。

我們正在使用Sikuli(正式稱為SikuliX,但我們在這裡統一使用Sikuli)進行圖像識別以自動化PC操作,例如自動化GUI測試。
Sikuli的源碼是用Python(實際上是Jython)編寫的,所以基本上可以滿足我們的需求,可以使用JUnit等工具,並且可以從Jenkins執行,但是圖像識別的弱點是,當突然出現意外的顯示狀態時,測試可能會失敗。
(顯而易見的例子是,自動彈出提示要更新到Windows 10的對話框之類的!)
因此,我們在設計測試時,盡量保留了螢幕圖像和其他相關資訊,但處理這些日誌還是有困難。

因此,我想尝试将此类日志注册到MongoDB的方法。

ソフト等バージョン備考Windows 10 Pro
64ビットJava 8update 71
sikuli1.1.120151126.001204-18(Jython2.7.0)Java MongoDB Driver3.0.4

Sikuli的安装

由于Sikuli的日本语信息并不是很丰富,而且似乎也没有关于最新的Java 8的信息,所以我会保留一份屏幕截图。

可以从这里下载被支持的版本,但这次我从Nightly版本中下载了最新的sikulixsetup~.jar,并将其放置在C:\sikuliX目录下进行了执行。

sikuli01.png

在设置对话框中,勾选1、2、3,并点击“立即设置”。
(因为这次不使用OCR功能,所以3应该不需要。)

以後いくつかダイアログが出るので、全部「はい」で。

sikuli02.png

インストールが終わると、c:\sikuliXの中にrunsikulix.cmdが出来てますので、これを実行すると次のようにSikuliのIDEが立ち上がります。

sikuli04.png

使用Sikuli来应用Java MongoDB驱动程序。

SikuliからMongoDBにつなぐ公式ドライバはありませんが、Sikuliの実態はJythonなのでJava MongoDB Driverで試してみます。
(使ったのは「mongo-java-driver」の方。「mongodb-driver」との違いは良く分かりません)

我們將mongo-java-driver-3.0.4.jar檔案下載,並放置在C:\mongoDB\mongo-java-driver資料夾中,以進行操作確認並進行簡單的搜尋。

load("C:\mongoDB\mongo-java-driver\mongo-java-driver-3.0.4.jar")
import com.mongodb.MongoClient;

cli = com.mongodb.MongoClient( "s2016tp4" );
db = cli.getDB( "logs" );
coll = db.getCollection("os");
print("Count = %i" % coll.getCount())

d = coll.findOne();
print("TimeStamp = %s" % d.get('TimeStamp'))
print("ComputerName = %s" % d.get('ComputerName'))

在红框部分显示了集合的计数和搜索数据。
(连接的数据是通过PowerShell访问MongoDB所创建的PowerShell注册的数据。)

sikuli05.png

接続出来ることが確認できましたが、長くなったので今回はここまで。
登録(特に画像)はまた今度。

参考

由于Sikuli的日语信息相对较少,以下是迄今为止对我有所帮助的信息:

    • masuoのブログ

 

    [test][automation] sikuliを使ってGUI操作を自動化する
bannerAds