RF+Selenium 2 Library+Sikuli一体化環境構築
4445 ワード
Sikuliはスクリーンショットを通してコードを作成するスクリプト言語で、彼はSeleniumに対してよくない処理のいくつかのモダリティウィンドウ、flashなどの利器です.余計なことは言わないで、直接に取り付けましょう.RF+Selenium 2 Libraryをインストールする環境はここでは言いません.
1、Sikuliを取り付ける http://blog.csdn.net/xc5683/article/details/10017915,公式サイトに行ってSikuli-X-1.0 rc 3(r 905)-win 32.exeを直接ダウンロードしてインストールすればいいです.それをインストールする前にまずJavaをインストールします.
2、Jython環境をインストールする:公式サイトhttp://sikuli.org、jython-innstaller.jarをダウンロードする.インストール方法:java-jar jython-innstaller-2.5.3.jar
インストールが完了したら、c:\jython 2.5.3\binディレクトリをpath環境変数に追加します.
3、設定rf遠隔呼び出しsikuli環境:
a、新しいフォルダを作成します.c:\rf_シンプル
b、sikuliをカタログ下のC:\Program Files\Sikuli X\sikuli-script.jarにコピーしてc:\rf_サイコロ下
c、ダウンロードファイルhttp://www.jython.orgからc:\rf_sikuli中
d、c:\rf_sikuliの下に新しいファイルを作成しました.Sikuli RemoteLibrary.py、ファイルの内容は以下の通りです.
f、cmdを開けて、c:\rf_までsikuliディレクトリの下で、jython.bat Sikuli RemoteLibrary.pyを実行します.
もし現れたら:Robot Frame ebook remote server starting at local host:8270、配置が成功したと説明して、使用できます.
もし現れたら:no named module sikuliのエラーは、sikuli-script.jarを解凍してください.
4、RIDEではsikuliを使用しています.
a、RIDEに試験用の新規作成
b、RemoteとSreenshotライブラリに参加する必要があります.
http://robotframework.googlecode.com/hg/tools/remoteserver/robotremoteserver.py
c、用例に直接用例を書けばいいです.
1、Sikuliを取り付ける http://blog.csdn.net/xc5683/article/details/10017915,公式サイトに行ってSikuli-X-1.0 rc 3(r 905)-win 32.exeを直接ダウンロードしてインストールすればいいです.それをインストールする前にまずJavaをインストールします.
2、Jython環境をインストールする:公式サイトhttp://sikuli.org、jython-innstaller.jarをダウンロードする.インストール方法:java-jar jython-innstaller-2.5.3.jar
インストールが完了したら、c:\jython 2.5.3\binディレクトリをpath環境変数に追加します.
3、設定rf遠隔呼び出しsikuli環境:
a、新しいフォルダを作成します.c:\rf_シンプル
b、sikuliをカタログ下のC:\Program Files\Sikuli X\sikuli-script.jarにコピーしてc:\rf_サイコロ下
c、ダウンロードファイルhttp://www.jython.orgからc:\rf_sikuli中
d、c:\rf_sikuliの下に新しいファイルを作成しました.Sikuli RemoteLibrary.py、ファイルの内容は以下の通りです.
import sys
from robotremoteserver import RobotRemoteServer
from org.sikuli.script import *
class SikuliRemoteLibrary:
def __init__(self):
self.SS = Screen()
self.PT = Pattern()
def _wait(self, imgFile, timeOut, similarity):
try:
self.PT = Pattern(imgFile)
self.PT = self.PT.similar(float(similarity))
self.SS.wait(self.PT, float(timeOut))
except FindFailed, err:
print "ERR: _wait"
raise AssertionError(err)
def click_object(self, imgFile, timeOut, similarity):
try:
self._wait(imgFile, timeOut, similarity)
self.SS.click(imgFile)
except FindFailed, err:
raise AssertionError("Cannot click [" + imgFile + "]")
def object_exists(self, imgFile, similarity, timeOut):
try:
self._wait(imgFile, timeOut, similarity)
except FindFailed, err:
raise AssertionError("Could not find [" + imgFile + "]")
def type_at_object(self, imgFile, txt, timeOut, similarity):
try:
self._wait(imgFile, timeOut, similarity)
self.SS.type(imgFile, txt)
except FindFailed, err:
raise AssertionError("Cannot type at [" + imgFile + "]")
def paste_at_object(self, imgFile, txt, timeOut, similarity):
try:
self._wait(imgFile, timeOut, similarity)
self.SS.paste(imgFile, txt)
except FindFailed, err:
raise AssertionError("Cannot paste at [" + imgFile + "]")
if __name__ == '__main__':
SRL = SikuliRemoteLibrary()
RobotRemoteServer(SRL, *sys.argv[1:])
e、c:\rf_をsikuliカタログをCLASS_に追加します.PATH環境変数下f、cmdを開けて、c:\rf_までsikuliディレクトリの下で、jython.bat Sikuli RemoteLibrary.pyを実行します.
もし現れたら:Robot Frame ebook remote server starting at local host:8270、配置が成功したと説明して、使用できます.
もし現れたら:no named module sikuliのエラーは、sikuli-script.jarを解凍してください.
4、RIDEではsikuliを使用しています.
a、RIDEに試験用の新規作成
b、RemoteとSreenshotライブラリに参加する必要があります.
http://robotframework.googlecode.com/hg/tools/remoteserver/robotremoteserver.py
c、用例に直接用例を書けばいいです.