我正在尝试从作为 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