如何将JavaScript测试数据表转换为Python(BDD+Selenium场景)
Python等价实现(基于Behave BDD框架)
以下是对应你JavaScript代码的Python实现,适配Selenium+Behave的BDD测试场景:
from behave import step from selenium.webdriver.common.by import By @step('step title "{first_input}"') def step_impl(context, first_input): # 把Gherkin数据表格转成字典列表,对应JS的dataTable.hashes() data_rows = context.table.as_list_of_dicts() match first_input: case 'First Case': for elem in data_rows: table_title = elem['titleOfDataTable'] match table_title: case 'First Data': # 替换成你的Selenium操作,比如: # context.driver.find_element(By.ID, "first-data-btn").click() pass case 'Second Data': # 替换成你的操作 pass case 'Third Data': # 替换成你的操作 pass case _: # 抛出异常,对应JS的throw new Error raise Exception("<someMessage>") case _: # 替换成你的默认操作 pass
核心语法对应说明
dataTable.hashes()→ 用Behave的context.table.as_list_of_dicts(),直接将Gherkin表格转换为字典列表,每个字典对应一行数据,键为表头名称。forEach()→ Python直接用for elem in data_rows循环遍历,逻辑与JS完全一致。switch/case→ 使用Python 3.10+支持的match/case语法;若使用低版本Python,可替换为if-elif-else结构实现相同逻辑。throw new Error→ Python中用raise Exception("错误信息")抛出异常。
内容的提问来源于stack exchange,提问作者Faith Berroya
相关产品推荐
相关产品推荐

