基本问题是,尽管库文件名和类名相同(与Robot Framework手册建议相同),但是Library PywinautoLibrary
导入找不到类关键字。 Library PywinautoLibrary.PywinautoLibrary
确实可以工作。
我知道Robot Framework Python文件不能同时具有类和静态功能,因此没有静态功能。
我已使用此setup.py制作了自定义的 pip 可安装轮文件:
setup(
name='robotframework-pywinautolibrary',
description='Robot Framework wrapper for pywinauto',
version='1.0',
classifiers=['Programming Language :: Python :: >=3.6'],
package_dir={'' : 'src'},
packages=['PywinautoLibrary'],
include_package_data=True,
install_requires=['pywinauto>=0.6.6'],
author='****',
author_email='****',
)
唯一的其他Python软件包文件为空__init__.py
然后我的PywinautoLibrary.py
像这样开始:
#LIBRARY DEFINITIONS-----------------------------------------------------------
DEFAULT_TIMEOUT = 15
DEFAULT_INTERVAL = 0.5
#Kwargs definitions
TIMEOUT = 'timeout'
RETRY_INTERVAL = 'retry_interval'
UNIQUE_ID = 'unique_id'
INIT_TEXT = 'init_text'
WINDOW_GETTER = 'window_getter'
WINDOW_KWARGS = 'window_kwargs'
USER_TIMEOUT = 'user_timeout'
COMPARE_FUNCTION = 'compare_func'
#Props definitions
FONTS_KEY = 'fonts'
RECTANGE_KEY = 'rectangle'
CLIENT_RECTS_KEY = 'client_rects'
#-----------------------------------------------------------------------------
class PywinautoLibrary:
def __init__(self):
...
Python安装目录如下:
(python32_env) PS C:\python32_env\lib\site-packages\PywinautoLibrary>
Mode LastWriteTime Length Name
---- ------------- ------ ----
d----- 8.5.2019 10.36 __pycache__
-a---- 8.5.2019 10.36 23088 PywinautoLibrary.py
-a---- 8.5.2019 10.36 0 __init__.py
我想念一些简单的东西吗?
答案 0 :(得分:2)
对于Library PywinautoLibrary
,您说要导入PywinautoLibrary,但由于__init__.py
为空,因此对要从该文件中使用的类一言不发。导入Library PywinautoLibrary.PywinautoLibrary
就是从该库中导入PywinautoLibrary
类,这就是它起作用的原因。
因此__init__.py
必须至少包含以下内容:
from PywinautoLibrary.PywinautoLibrary import PywinautoLibrary
它从PywinautoLibrary模块导入PywinautoLibrary
类,并且可见关键字。