从 Python 函数运行 Robot 框架关键字时出错 - RobotNotRunningError('无法访问执行上下文')

问题描述 投票:0回答:0

我正在尝试从作为 flask 应用程序公开的 Python 函数运行 Robot Framework 关键字。我能够从另一个机器人测试套件调用这个 python 函数,但是当从 Flask 应用程序运行相同的函数时 - 我收到错误,RobotNotRunningError('无法访问执行上下文')。请有人指导如何解决这个问题。

机器人框架版本 5.0.1, Python3.9

Python脚本:

from flask import Flask, request
from robot.libraries.BuiltIn import BuiltIn
from robot.api.deco import keyword

app = Flask(__name__)
...
@app.get('/getAcctData') 
def get_acctData():
    ROBOT_LISTENER_API_VERSION = 3
    ROBOT_LIBRARY_SCOPE = 'TEST SUITE'
    endPoint=  request.args.get('myKeyword') or 'get_defaultAcct'
    username = request.args.get('userid') or 'TEST_USER'
    password = request.args.get('password') or 'TEST_PW'
    BuiltIn().import_resource('/Users/S123/myProject/Tests/keywordsLibrary.robot')
    return(BuiltIn().run_keyword('endPoint',username, password)) 

关键字库文件看起来像这样

   *** Settings ***
   Library                 ${EXECDIR}/Libraries/robot_test_app.py 
   Library                 ${EXECDIR}/Libraries/basic.py 
   Library                 OperatingSystem
   Library                 RequestsLibrary
   Library                 Collections

   *** Variables ***
   ${ACCT_API_BASE_URL}=      https://acct-api-svc.saraTestOrg.com/api
   ${PAYLOADFile}=                ${EXECDIR}/TestData/acctRequests_payload.txt

   *** Keywords ***

  SaraSampleKeyword
    ${randomreturn}=    set variable    hello from Sara sample Keyword
    [return]   ${randomreturn}

  get_acct_api
  [Arguments]        ${API_ENDPOINT}   ${Client_ID}   ${Cleint_Secret}
  [Documentation]    call specific acct api end points 
   ------ some code here

完整的堆栈跟踪

python flask robotframework
© www.soinside.com 2019 - 2024. All rights reserved.