【问题标题】:python tests using robot framework使用机器人框架的python测试
【发布时间】:2021-04-13 20:20:27
【问题描述】:

有没有人有一个使用 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$ 

【问题讨论】:

    标签: python-3.x robotframework


    【解决方案1】:

    我注意到的一些事情:

    1. 变量部分的${test}--test 之间至少需要有两个空格。你只提供了一个。在Run Process 行中相同,exec 和argument 之间应该至少有两个空格。规则是 RF 使用两个空格作为分隔符。
    2. 您的测试名称是缩进的。 RF 将其解释为关键字调用,这是出乎意料的。它应该从行首开始,没有缩进
    3. 文件丢失错误看起来很奇怪,我不知道原因。该文件是 RF 库的一部分,如果您正确安装了 RF,它应该在那里。建议你启动一个新的虚拟环境,如果不是太复杂的话再试一次。

    附:仅供参考,所有 RF 内置库都可以在这里找到: https://robotframework.org/#libraries.

    【讨论】:

      猜你喜欢
      • 2017-11-19
      • 2018-09-16
      • 2018-10-25
      • 1970-01-01
      • 1970-01-01
      • 2019-02-16
      • 2016-12-14
      • 2016-05-23
      • 2016-05-03
      相关资源
      最近更新 更多