差異處
這裏顯示兩個版本的差異處。
rf:rf:rfdoc [2013/03/18 15:17] tony |
rf:rf:rfdoc [2023/06/25 09:48] |
||
---|---|---|---|
行 1: | 行 1: | ||
- | {{tag>RobotFramework}} | ||
- | ====== RFDoc ====== | ||
- | ===== Introduction ===== | ||
- | [[https://code.google.com/p/rfdoc/|RFDoc]]是一個讓你可以將所有的Keyowrd Documents集中管理的Web應用程式。對於一個Team的開發人員來說,除了透過瀏覽各個Keyword Documents外,也可以透過搜尋功能去知道目前專案中有哪些既有的Keyword可以用。 | ||
- | ===== Install and Setup ===== | ||
- | RFDoc使用[[http://zh.wikipedia.org/wiki/Django|Django]]為Web的Framework並以[[http://zh.wikipedia.org/wiki/SQLite|sqlite3]]為資料庫。我分為兩部分做介紹,一個以Django做為Web Server,一個是以Apache做為Web Server。(官網的教學實在令我覺得OOXX,照著它做8成以上不能work) | ||
- | ==== Django Web Server ==== | ||
- | Django提供的Web Server目的是為了開發與測試使用,但如果只是拿來跑RFDoc也無妨吧! | ||
- | - 安裝Djando: <code bash>apt-get install python-django</code> | ||
- | - 下載[[https://code.google.com/p/rfdoc/downloads/list|rfdoc]]並解壓縮,我解壓縮至/usr/src/rfdoc-0.2。 | ||
- | - 建置與安裝: 至安裝目錄下執行以下指令,會產生src的資料夾,<code bash>python setup.py install</code> | ||
- | - 設置DB: <code bash>python src/rfdoc/manage.py syncdb</code> | ||
- | - 啟動: 可根據需求決定要使用的port, <code bash>python src/rfdoc/manage.py runserver 0.0.0.0:8000</code> | ||
- | 如果要重新初始化RFDoc使用的database,可以執行<code bash>python src/rfdoc/manage.py reset rfdocapp</code> | ||
- | ==== Apache Web Server ==== | ||
- | 它是透過[[http://baike.baidu.com/view/1660037.htm|WSGI]]的interface讓Apache Web Server去存取RFDoc。除了要安裝Django的部分,還要做以下安裝: | ||
- | - 安裝apache: <code bash>sudo apt-get install apache2</code> | ||
- | - 安裝wsgi模組: <code bash>sudo apt-get install libapache2-mod-wsgi</code> | ||
- | - 產生wsgi檔: 直接使用Template,<code bash>cp /usr/src/rfdoc-0.2/src/rfdoc/rfdoc.wsgi.tmpl /usr/src/rfdoc-0.2/src/rfdoc/rfdoc.wsgi</code>加入src/rfdoc的路徑到PATHS中,<code bash>PATHS = ['/usr/src/rfdoc-0.2/src/rfdoc'] | ||
- | </code> | ||
- | - 設定檔: 新增對rfdoc的apache設定擋,<code bash>WSGIScriptAlias / /opt/tmp/rfdoc-0.2/src/rfdoc/rfdoc.wsgi</code> | ||
- | - 修改資料庫存取權限: 目的是要讓apache有rfdoc資料庫存取的權限,<code bash>chown www-data:www-data /tmp/rfdoc.db</code> | ||
- | 由於RFDoc程式碼都是使用Web Root的方式去存取,目前還在尋找可以讓它透過其它URL存取的方式。 | ||
- | ===== Automatic Gen&Upload ===== | ||
- | <code bash> | ||
- | #!/bin/bash | ||
- | LIBDOC_CMD=./libdoc.sh | ||
- | OUTPUT=/opt/portable-robot/doc | ||
- | RFDOC_URL=http://10.134.15.215 | ||
- | RFLIB_FOLDERS=('/opt/robotframework/libs','/opt/robotframework/testcases') | ||
- | if [ ! -e $OUTPUT ]; then | ||
- | mkdir $OUTPUT | ||
- | fi | ||
- | |||
- | IFS=$',' | ||
- | for folder in ${RFLIB_FOLDERS[@]}; do | ||
- | for file in $folder/*.html; do | ||
- | filename=`basename "$file" | cut -d'.' -f1` | ||
- | OUTPUT_FILE=$OUTPUT/$filename.xml | ||
- | $LIBDOC_CMD -f XML "$file" "$OUTPUT_FILE" | ||
- | curl --form file=@$OUTPUT_FILE \ | ||
- | $RFDOC_URL/upload --form override=on | ||
- | done | ||
- | |||
- | done | ||
- | </code> | ||
- | ===== Reference ===== | ||
- | * [[https://code.google.com/p/rfdoc/|RFDoc Web Site]] |