You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Robot Framework旧关键字报错‘No keyword with name xyz’求助

问题分析与解决

根本原因

你在csv_handler类中定义了两个同名的方法extract_text_from_CSV_file,Python中类的同名方法会直接覆盖前一个实现,导致原关键字Extract text from CSV file对应的方法被第二个方法替换,Robot Framework无法找到原关键字,从而抛出No keyword with name xyz错误。

解决步骤

  1. 修改第二个方法的函数名,确保两个方法名唯一:
    将新增关键字对应的方法名从extract_text_from_CSV_file改为extract_text_from_created_CSV_file(或其他唯一名称)。

  2. 修正后的代码示例:

import all library and key words
import os  # 新增方法用到了os模块,需显式导入

class csv_handler:
    @keyword("Extract text from CSV file")
    def extract_text_from_CSV_file(self, file_name):
        execution_mode = BuiltIn().get_variable_value("${EXECUTION_MODE}")
        download_folder = config_file[execution_mode]["download_folder"]
        userName = getpass.getuser()
        localUserName = userName.strip("adm-")
        download_folder = download_folder.replace("<local_user>", localUserName)
        data = []
        with open(download_folder.strip() + file_name, 'r') as csvfile:
            reader = csv.reader(csvfile)
            for row in reader:
                data.append(row)
        return data

    @keyword("Extract text from created CSV file")
    def extract_text_from_created_CSV_file(self, file_name):  # 此处修改方法名
        execution_mode = BuiltIn().get_variable_value("${EXECUTION_MODE}")
        cwd = os.getcwd()
        upload_folder = cwd + config_file[execution_mode]["upload_folder"]
        userName = getpass.getuser()
        localUserName = userName.strip("adm-")
        upload_folder = upload_folder.replace("<local_user>", localUserName)
        data = []
        with open(upload_folder.strip() + file_name, 'r') as csvfile:
            reader = csv.reader(csvfile)
            for row in reader:
                data.append(row)
        return data
  1. 额外检查项:
    • 确认csv_handler库已在Robot测试文件中正确导入
    • 确保运行环境加载了修改后的代码(可重新启动测试运行进程)

内容的提问来源于stack exchange,提问作者Satyajit Behera

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.11 17:42:45