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、ファイルの内容は以下の通りです.
 
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、用例に直接用例を書けばいいです.
RF+Selenium2Library+Sikuli集成环境搭建_第1张图片