导入的库 'owaspapi' 不包含关键字。 (如果它是使用 pip 安装的)
Imported library 'owaspapi' contains no keywords. (if it's installed using pip)
我已经为 Robot Framework (myapi.py) 制作了一个库。如果我将它与我的机器人测试放在同一目录中,我可以像这样导入库:
Library myapi.py
它工作得很好。
但是,我使库 pip 可安装,以便其他人可以轻松地将其用于其他项目。该库使用 pip 安装得很好。我还更改了机器人测试以像这样导入库:
Library myapi
当我 运行 机器人测试时,我收到警告:
[ WARN ] Imported library 'myapi' contains no keywords.
这是(可安装 pip 的)库文件结构:
setup.py
myapi
\__init__.py
\myapi.py
\version.py
setup.py内容为:
from setuptools import setup, find_packages
exec(open('myapi/version.py').read())
setup(
name='myapi',
version=__version__,
packages=['myapi'],
install_requires=['requests']
)
init.py内容为:
from .version import __version__
version.py内容为:
__version__ = '1.1.0'
myapi.py的内容是(只包括我有的第一个功能):
import requests
import time
from time import strftime
import urllib2
__all__ = ['create_new_MY_session']
def create_new_MY_session():
session_name = strftime('my_session_%S_%H_%M_%d_%m_%Y')
r = requests.get("http://localhost:8080/JSON/core/action/newSession/?zapapiformat=JSON&name=" + session_name + "/'")
print ("Creating new session: " + session_name + ". Status code...")
print (r.status_code)
assert (r.status_code) == 200
机器人测试终于开始了(login.robot):
*** Settings ***
Suite Setup Open Firefox With Proxy
Suite Teardown Close Browser
Library mypapi
Library OperatingSystem
Library Selenium2Library
Resource ws_keywords/product/webui.robot
*** Test Cases ***
MY Start New MY Session
Create New MY Session
我想知道当库位于机器人测试旁边时是否工作正常,如果我让它可以通过 pip 安装,我错过了什么......?为什么它抱怨没有关键字?
在您的 myapi.py
文件中,您缺少 class 参考。当文件放在您的机器人框架项目中时,这不是问题,但在创建 pip 可安装模块时,这是必需的。一个基本的 Python 库代码示例是这样的:
myapi.py
class myapi(object):
ROBOT_LIBRARY_VERSION = 1.0
def __init__(self):
pass
def keyword(self):
pass
我已经为 Robot Framework (myapi.py) 制作了一个库。如果我将它与我的机器人测试放在同一目录中,我可以像这样导入库:
Library myapi.py
它工作得很好。
但是,我使库 pip 可安装,以便其他人可以轻松地将其用于其他项目。该库使用 pip 安装得很好。我还更改了机器人测试以像这样导入库:
Library myapi
当我 运行 机器人测试时,我收到警告:
[ WARN ] Imported library 'myapi' contains no keywords.
这是(可安装 pip 的)库文件结构:
setup.py
myapi
\__init__.py
\myapi.py
\version.py
setup.py内容为:
from setuptools import setup, find_packages
exec(open('myapi/version.py').read())
setup(
name='myapi',
version=__version__,
packages=['myapi'],
install_requires=['requests']
)
init.py内容为:
from .version import __version__
version.py内容为:
__version__ = '1.1.0'
myapi.py的内容是(只包括我有的第一个功能):
import requests
import time
from time import strftime
import urllib2
__all__ = ['create_new_MY_session']
def create_new_MY_session():
session_name = strftime('my_session_%S_%H_%M_%d_%m_%Y')
r = requests.get("http://localhost:8080/JSON/core/action/newSession/?zapapiformat=JSON&name=" + session_name + "/'")
print ("Creating new session: " + session_name + ". Status code...")
print (r.status_code)
assert (r.status_code) == 200
机器人测试终于开始了(login.robot):
*** Settings ***
Suite Setup Open Firefox With Proxy
Suite Teardown Close Browser
Library mypapi
Library OperatingSystem
Library Selenium2Library
Resource ws_keywords/product/webui.robot
*** Test Cases ***
MY Start New MY Session
Create New MY Session
我想知道当库位于机器人测试旁边时是否工作正常,如果我让它可以通过 pip 安装,我错过了什么......?为什么它抱怨没有关键字?
在您的 myapi.py
文件中,您缺少 class 参考。当文件放在您的机器人框架项目中时,这不是问题,但在创建 pip 可安装模块时,这是必需的。一个基本的 Python 库代码示例是这样的:
myapi.py
class myapi(object):
ROBOT_LIBRARY_VERSION = 1.0
def __init__(self):
pass
def keyword(self):
pass