1、运行报错
command: pybot.bat --argumentfile c:\users\wuxj\appdata\local\temp\RIDEsasqcx.d\argfile.txt --listener C:\Python27\lib\site-packages\robotide\contrib\testrunner\TestRunnerAgent.py:50226:False C:\auto
[ ERROR ] Suite 'auto' contains no tests or tasks.
解决方式:套件格式应该选robot
2、导入系统关键字报错
写完或修改完__init__.py文件后需要执行一下
3、运行报错:FAIL : No keyword with name 'read' found.
建一个测试用例的文件夹,再建一个套件,在http这个套件里导入资源就不会报错了
4、导入多个系统关键字
之前写成了下图这样,这样只有一个脚本生效,是错误的。
正确格式:
# -- coding: utf-8 --
__author__ = 'wuxj'
__version__ = '1.0'
from ssh_login_and_huifang import ssh_login_and_huifang
from read_aisa_file_info import read_aisa_file_info
from return_fileinfo import return_fileinfo
class wuxjLibrary(ssh_login_and_huifang,read_aisa_file_info,return_fileinfo):
ROBOT_LIBRARY_SCOPE = 'GLOBAL'
4、创建字典、读取字典格式
读取字典值:${actiondata['smb_sessionid']}
5、FOR循环操作嵌套if
Robot Framework使用For循环 - 彼岸大师 - 博客园
6、字段串比较
变量及字符串都需要加单引号,否则会报错
7、创建列表
8、引用mylibrary失败,语法等都正确,但是ride library引用自定义mylibrary就是报错
pycharm可以运行,ride运行不行,怀疑是sys.path和PYTHONPATH问题,但不是很懂原理
20250224 18:56:54.256 [WARN]: Importing test library "C:\robot_自动化\ndr_bennao\测试用例\attack告警用例\../../wuxjLibrary/" failed
Traceback (most recent call last):
Importing test library 'C:\robot_自动化\ndr_bennao\测试用例\attack告警用例\..\..\wuxjLibrary\' failed: ModuleNotFoundError: No module named 'es_login'
Traceback (most recent call last):
File "C:\Users\admin-pc1102\AppData\Local\Programs\Python\Python37-32\lib\site-packages\robotide\lib\robot\utils\importer.py", line 153, in _import
return __import__(name, fromlist=fromlist)
File "C:\robot_自动化\ndr_bennao\wuxjLibrary\__init__.py", line 12, in <module>
from es_login import es_login
PYTHONPATH:
C:\Users\admin-pc1102\AppData\Local\Programs\Python\Python37-32\python37.zip
C:\Users\admin-pc1102\AppData\Local\Programs\Python\Python37-32\DLLs
C:\Users\admin-pc1102\AppData\Local\Programs\Python\Python37-32\lib
C:\Users\admin-pc1102\AppData\Local\Programs\Python\Python37-32
C:\Users\admin-pc1102\AppData\Local\Programs\Python\Python37-32\lib\site-packages
C:\Users\admin-pc1102\AppData\Local\Programs\Python\Python37-32\lib\site-packages\win32
C:\Users\admin-pc1102\AppData\Local\Programs\Python\Python37-32\lib\site-packages\win32\lib
C:\Users\admin-pc1102\AppData\Local\Programs\Python\Python37-32\lib\site-packages\Pythonwin
C:\Users\admin-pc1102\AppData\Local\Programs\Python\Python37-32\lib\site-packages\robotide\spec
C:\Users\admin-pc1102\AppData\Local\Programs\Python\Python37-32\lib\site-packages\robotide\lib
C:\Users\admin-pc1102\AppData\Local\Programs\Python\Python37-32\lib\site-packages\robotide\contrib\testrunner\../../lib
C:\Users\admin-pc1102\AppData\Local\Programs\Python\Python37-32\lib\site-packages\robotide\contrib\testrunner\../../lib
C:\robot_自动化\ndr_bennao
C:\robot_自动化\ndr_bennao
C:\Users\admin-pc1102\Desktop
C:\Users\admin-pc1102\Desktop
File "C:\Users\admin-pc1102\AppData\Local\Programs\Python\Python37-32\lib\site-packages\robotide\spec\librarymanager.py", line 87, in _fetch_keywords
return get_import_result(path, library_args)
File "C:\Users\admin-pc1102\AppData\Local\Programs\Python\Python37-32\lib\site-packages\robotide\spec\libraryfetcher.py", line 24, in get_import_result
lib = robotapi.TestLibrary(path, args)
File "C:\Users\admin-pc1102\AppData\Local\Programs\Python\Python37-32\lib\site-packages\robotide\lib\robot\running\testlibraries.py", line 50, in TestLibrary
return_source=True)
File "C:\Users\admin-pc1102\AppData\Local\Programs\Python\Python37-32\lib\site-packages\robotide\lib\robot\utils\importer.py", line 72, in import_class_or_module
self._raise_import_failed(name, err)
File "C:\Users\admin-pc1102\AppData\Local\Programs\Python\Python37-32\lib\site-packages\robotide\lib\robot\utils\importer.py", line 109, in _raise_import_failed
raise DataError('\n'.join(msg))
解决办法:在__init__.py里将__init__.py父路径添加到path里
import sys
from pathlib import Path
# 获取当前项目根目录
project_root = str(Path(__file__).parent)
print(project_root)
# 将当前项目根目录添加到 sys.path 的开头
if sys.path[0] != project_root:
sys.path.insert(0, project_root)
print(sys.path)
from UI_operator import UI_operator
9、robot运行过程中输出中文乱码,改这个脚本testrunnerplugin.py,文件在你安装python的目录里