import pytest
import allure
import configparser
from web_driver.web_baseline import BaiduPage
from web_driver.webdriver_baseline import WebBaseline
class TestBaiduSearch:
@classmethod
def setup_class(cls):
"""整个测试类执行前执行一次,适合加载配置等全局操作。"""
config = configparser.ConfigParser()
config.read(r'E:/WEBTEST/local_data/local_data.ini')
cls.public_config = WebBaseline.load_yaml(config['Paths']['public_config'])
cls.test_case_data = WebBaseline.load_yaml(config['Paths']['testcase_data'])
def setup_method(self):
"""每个测试方法执行前执行,打开浏览器并登录。"""
self.web_baseline = WebBaseline()
self.page = self.web_baseline.get_page()
# 执行登录操作
self.web_baseline.login(self.public_config["login"]["username"],
self.public_config["login"]["password"])
def teardown_method(self):
"""每个测试方法执行后执行,关闭浏览器。"""
self.web_baseline.close()
@allure.feature("百度搜索功能")
@allure.story("测试百度搜索")
def test_baidu_search(self):
"""测试百度搜索功能。"""
search_term = self.test_case_data["test_baidu_search"]["search_term"]
baidu_page = BaiduPage(self.page)
baidu_page.open()
baidu_page.search(search_term)
assert search_term in self.page.title()
results = baidu_page.get_search_results()
assert len(results) > 0, "搜索结果为空"
获取相对路径
import os
# A 文件的绝对路径
absolute_path_A = r'E:\WEBTEST\local_data\local_data.ini'
# 获取当前工作目录
current_working_dir = os.getcwd()
# 计算从当前工作目录到 A 文件的相对路径
relative_path = os.path.relpath(absolute_path_A, current_working_dir)
print(f"相对路径: {relative_path}")