簡體   English   中英

python 使用機器人框架進行測試

[英]python tests using robot framework

有沒有人有一個使用機器人框架測試 python 程序的好例子。

我正在嘗試使用 --test 參數運行我的 python 程序(chaptermarkers.py)並檢查結果。

通過論點是谷歌搜索 2 天的奧德賽。

[文件:common_resourses.robot]

*** Settings ***
Library  OperatingSystem

*** Variables ***
${CHAPTERMARKERS_EXEC}  chaptermarkers
${LOG LEVEL}    DEBUG

*** Keywords ***
# TODO

[測試用例:文件:default_suite.robot]

*** Settings ***
Documentation       *Test Chapter Markers runs but has error in filename*
Metadata    Github  https://github.com/cbitterfield/chaptermarkers
Metadata    Version 1.0.0
Metadata    Executed At    ${HOST}


# External libraries imports
Library  Process
Library  String

Resource    common_resources.robot

*** Variables ***
${EXPECTED_MESSAGE}  Movie Filename
${REPORT FILE}  report.html
${LOG FILE}     logfile.html
${LOG LEVEL}    DEBUG
${OUTPUT DIR}   /Users/colin/IdeaProjects/chaptermarkers
${test} --test


*** Test Cases ***

    Scenerio test chaptermarkers run
        [Tags]    DEBUG
        [Documentation]     Verifies that chaptermarkers is executed well and without errors
        ${result}=  Run process     ${CHAPTERMARKERS_EXEC} ${test}
        Should Contain  ${result.stdout}    ${EXPECTED_MESSAGE}
        Should Be Empty     ${result.stderr}

無論我如何嘗試在程序之后放置一些東西,我都會收到目錄丟失的錯誤。

[瘋狂的無法使用的錯誤消息]

$ robot --loglevel DEBUG --log log.html --report report.html stests/default_suite.robot 
[ ERROR ] Error in file '/Users/colin/IdeaProjects/chaptermarkers/stests/default_suite.robot' on line 25: Invalid variable name '${test} --test'.
==============================================================================
Default Suite :: *Test Chapter Markers runs but has error in filename*        
==============================================================================
Scenerio test chaptermarkers run :: Verifies that chaptermarkers i... | FAIL |
Variable '${test}' not found. Did you mean:
    ${TEST_TAGS}
    ${TEST_NAME}
------------------------------------------------------------------------------
Default Suite :: *Test Chapter Markers runs but has error in filen... | PASS |
0 critical tests, 0 passed, 0 failed
1 test total, 0 passed, 1 failed
==============================================================================
Output:  /Users/colin/IdeaProjects/chaptermarkers/output.xml
[ ERROR ] Unexpected error: FileNotFoundError: [Errno 2] No such file or directory: '/Users/colin/IdeaProjects/chaptermarkers/env/lib/python3.8/site-packages/robot/htmldata/rebot/log.html'
Traceback (most recent call last):
  File "/Users/colin/IdeaProjects/chaptermarkers/env/lib/python3.8/site-packages/robot/utils/application.py", line 83, in _execute
    rc = self.main(arguments, **options)
  File "/Users/colin/IdeaProjects/chaptermarkers/env/lib/python3.8/site-packages/robot/run.py", line 451, in main
    writer.write_results(settings.get_rebot_settings())
  File "/Users/colin/IdeaProjects/chaptermarkers/env/lib/python3.8/site-packages/robot/reporting/resultwriter.py", line 65, in write_results
    self._write_log(results.js_result, settings.log, config)
  File "/Users/colin/IdeaProjects/chaptermarkers/env/lib/python3.8/site-packages/robot/reporting/resultwriter.py", line 79, in _write_log
    self._write('Log', LogWriter(js_result).write, path, config)
  File "/Users/colin/IdeaProjects/chaptermarkers/env/lib/python3.8/site-packages/robot/reporting/resultwriter.py", line 86, in _write
    writer(path, *args)
  File "/Users/colin/IdeaProjects/chaptermarkers/env/lib/python3.8/site-packages/robot/reporting/logreportwriters.py", line 43, in write
    self._write_file(path, config, LOG)
  File "/Users/colin/IdeaProjects/chaptermarkers/env/lib/python3.8/site-packages/robot/reporting/logreportwriters.py", line 36, in _write_file
    writer.write(template)
  File "/Users/colin/IdeaProjects/chaptermarkers/env/lib/python3.8/site-packages/robot/htmldata/htmlfilewriter.py", line 33, in write
    for line in HtmlTemplate(template):
  File "/Users/colin/IdeaProjects/chaptermarkers/env/lib/python3.8/site-packages/robot/htmldata/normaltemplate.py", line 28, in __iter__
    with codecs.open(self._path, encoding='UTF-8') as file:
  File "/opt/local/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/codecs.py", line 905, in open
    file = builtins.open(filename, mode, buffering)
(env) razzamataz:chaptermarkers colin$ 

我注意到的幾件事:

  1. 在您的變量部分中, ${test}--test之間至少需要有兩個空格。 你只提供了一個。 Run Process行中也是如此,exec 和 argument 之間應該至少有兩個空格。 規則是 RF 使用兩個空格作為分隔符。
  2. 您的測試名稱是縮進的。 RF 將其解釋為關鍵字調用,這是出乎意料的。 它應該從行首開始,沒有縮進
  3. 文件丟失錯誤看起來很奇怪,我不知道原因。 該文件是 RF 庫的一部分,如果您正確安裝了 RF,它應該在那里。 我建議你啟動一個新的虛擬環境,如果不是太復雜再試一次。

PS僅供參考,所有RF內置庫都可以在這里找到: https://robotframework.org/#libraries

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM