Portable robot-package with Selenium2Library

Prepare

我們需要幾個packages,

  1. Robotframework,由於Jython2.7的限制,必須至少使用2.9版本以上,我使用2.9.2。
  2. Selenium,我使用2.46.0。
  3. Selenium2Library,請至少使用1.7.1版本以上(參考相關問題1),我使用1.7.4。
  4. Decorator,被Selenium2Library所相依,我使用4.0.4。
  5. JRE,必須至少Java7以上,我使用Java8_u60。

Create Lib Folder

我們會把執行RobotFramework所需要額外的函式庫放在Lib的資料夾內。

Selenium2Library

將Selenium2Library-1.7.4.zip解開後,將Selenium2Library-1.7.4\src\Selenium2Library複製到Lib中。

Selenium

將selenium-2.48.0.tar.gz解開後,將selenium-2.48.0\py\selenium複製到Lib中。

Decorator

將decorator-4.0.4.tar.gz解開後,把decorator-4.0.4\src的內容複製到Lib\Selenium2Library\keywords中。

Launch Scripts

參考寫法如下,PYTHON_PATH為測試中所使用到的jar檔路徑,可根據你需求自行修改。

Windows

@echo off
set BASE=%~dp0
set JAVA=.\jre\bin\java
set ROBOT_JAR=robotframework.jar
set PYTHON_PATH=.\
 
cd /d "%BASE%"
 
set JAVA_MEM=-Xmx1024m
set JAVA_STACK=-Xss1152k
 
"%JAVA%" %JAVA_MEM% %JAVA_STACK% -jar %ROBOT_JAR% -P %PYTHON_PATH% %*
 
: cleanup
set BASE=
set ROBOT_JAR=
set JAVA_MEM=
set JAVA_STACK=
set JAVA=
set PYTHON_PATH=

Linux

#!/bin/bash
FULLPATH=`dirname "$0"`/`basename "$0"`
BASE=`readlink -f "$FULLPATH"`
BASEPATH=`dirname $BASE`
PYTHON_PATH=./
 
JAVA_PATH=./jre/bin/java
 
cd $BASEPATH
 
"$JAVA_PATH" -Xmx2048m -Xss1152k -jar "$BASEPATH/robotframework.jar" -P $PYTHON_PATH "$@"

Package Directory

參考配置如下:

jre/
Lib/
runrf.sh
runrf.bat
robotframework.jar
jre資料夾,如果你是win與linux包一起,就會區分為jre_win與jre_linux,Launch script也要跟著一起修改。如果windows與linux分開,jre就為各別OS所使用的。