💎一站式轻松地调用各大LLM模型接口,支持GPT4、智谱、星火、月之暗面及文生图 广告
## 实现 * 实现given中步骤,只需要写一个步骤函数,使用`@given("步骤名称")`装饰 * 一个步骤函数是可以添加多个步骤的,比如 ```python @when("点击:登录按钮,进入登录页面") @when("点击:登录按钮,打开登录弹窗") def click_login_button(driver): login_button = driver.find_element(By.XPATH, "//a[text()='登录']") login_button.click() ``` * 使用`parsers`来解析语句中的参数 ``` @when(parsers.parse("弹窗中,输入用户:{username}, 密码:{password}")) def input_login_info_on_pop(driver, username, password): ``` * 步骤函数中,我们可以直接使用`pytest`的fixture。 ``` # conftest.py 中定义了一个fixture @pytest.fixture(scope="session") def host(): return GLOBAL_VARS.get("host") # --------------------------------------------------------------# # test_*.py 测试方法中直接传入fixture的名称作为参数使用即可。 # 这里直接传入了fixture的名称: host, 作为测试方法:visit_projects_home的入参使用。 @given("打开浏览器,访问项目首页") def visit_projects_home(driver, host): driver.get(host) ``` * 步骤函数中的步骤描述,需要于`.feature`中的保持完全一致 ### 使用scenarios或@scenario关联用户场景和步骤函数 `.feature`文件以及`.py`文件分别实现了用户场景以及步骤函数,需要将这两者关联起来 * 假如步骤函数是放在`test_`开头的`.py`文件中,可以直接在该文件中使用`scenarios`或`@scenario`关联用户场景和步骤函数 * 假如步骤函数不是放在`test_`开头的`.py`文件中,我们可以新建一个`test_`开头的`.py`来管理测试场景,但是需要导入该测试场景中所需要相关的步骤函数 ##