当前位置: 首页 > news >正文

百度收录不到公司网站深圳3d制作

百度收录不到公司网站,深圳3d制作,广州效果图制作,编程培训这是初版的 pom web 测试框架#xff0c;目录如下同时部分代码也放在下面#xff0c;详细代码可前往 github 查看#xff0c;欢迎大家给出宝贵意见。 |--base | base_page.py#xff08;封装方法#xff09; | |--config | allure_config.py#xff08;测试报告配…这是初版的 pom web 测试框架目录如下同时部分代码也放在下面详细代码可前往 github 查看欢迎大家给出宝贵意见。 |--base | base_page.py封装方法 | |--config | allure_config.py测试报告配置 | |--data | code验证码 | user.yaml用户目录 | |--logs | log日志文件 | log.py日志模块 | |--page_object | login_page.py登陆页面元素及流程 | |--reports测试报告存放处 | allure-page | report | |--screenshot | err_screenhot错误截图 | screenshot.py截图模块 | |--test_case | conftestfixture配置 | test_login.py登录测试用例 | |--utils | util公共方法类似于验证码识别等 | web_driver.pydriver配置 | |--run.py测试框架运行模块 base封装方法 class BasePage:def __init__(self, driver):self.driver driverself.logger Logs.get_logger()self.scr Screenshot(driver)打开urldef open_url(self, url: str):self.driver.maximize_window()self.logger.info(最大化窗口)self.driver.get(url)self.logger.info(f打开网址{url})# self.driver.implicitly_wait(80)元素定位元组形态返回web_element对象def locator(self, loc: tuple) - WebElement:try:# 显示等待直到元素可见并可交互return self.display_wait(loc)except NoSuchElementException:self.logger.error(f元素{loc}未找到)self.scr.screenshot(loc)raiseexcept TimeoutException:self.logger.error(f元素{loc}未在规定时间内变为可见)self.scr.screenshot(loc)raise config测试报告配置 # 用户数据路径 user_data_path os.path.join(os.path.dirname(os.path.dirname(__file__)), data, user.yaml)# 测试用例路径 def case_path(path):return os.path.join(os.path.dirname(path), test_cases)# 测试报告路径 def report_path(path):return os.path.join(os.path.dirname(path), reports)# 执行 pytest 命令生成 Allure 报告配置 pytest_command [pytest,test_login.py, # 登陆测试test_home.py, # 首页测试test_search.py, # 搜索测试--alluredir../reports/report,--clean-alluredir] # 执行 Allure 命令生成并打开报告配置 allure_command [allure, generate, report, --clean] # 打开allure报告 allure_open [allure, open, allure-report]logs日志 class Logs:LOG_DIRECTORY os.path.join(os.path.dirname(__file__), log_file)LOG_FORMAT [%(asctime)s] %(levelname)s %(name)s(%(lineno)d): %(message)sLOG_DATE_FORMAT %Y-%m-%d %H:%M:%SLOG_LEVEL logging.INFOBACKUP_COUNT 0_logger Nonedef __init_subclass__(cls, **kwargs):super().__init_subclass__(**kwargs)cls.ensure_log_directory()classmethoddef ensure_log_directory(cls):if not os.path.exists(cls.LOG_DIRECTORY):os.makedirs(cls.LOG_DIRECTORY)classmethoddef get_logger(cls):if cls._logger is None:try:cls.ensure_log_directory()log_path os.path.join(cls.LOG_DIRECTORY, f{time.strftime(%Y%m%d)}.log)file_handler TimedRotatingFileHandler(log_path, whenmidnight, interval1,encodingutf8, backupCountcls.BACKUP_COUNT)formatter logging.Formatter(cls.LOG_FORMAT, datefmtcls.LOG_DATE_FORMAT)file_handler.setFormatter(formatter)cls._logger logging.getLogger(cls.__name__)cls._logger.setLevel(cls.LOG_LEVEL)cls._logger.addHandler(file_handler) except Exception as e:raise RuntimeError(f无法初始化类的记录器 {cls.__name__}: {e})return cls._logger page_object页面对象 class LoginPage(BasePage):# 网址_url http://baidu.com# 账号_account (id, account)# 密码_password (id, PASSWORD)# 登录_login_button (id, login_button)def correct_login(self, username, password):with allure.step(打开登陆页面):self.open_url(self._url)with allure.step(f输入账号:{username}):self.input(self._account, username)with allure.step(f输入密码:{password}):self.input(self._password, password)with allure.step(点击登陆):self.click(self._login_button) screenshot截图 class Screenshot:def __init__(self, driver):self._driver driverself._screenshot_path os.path.join(os.path.dirname(__file__), err_screenshot)self._ensure_screenshot_directory()self._logger Logs.get_logger()def _ensure_screenshot_directory(self):try:if not os.path.exists(self._screenshot_path):os.makedirs(self._screenshot_path)except Exception as e:self._logger.error(f创建屏幕截图目录时出错: {e})def screenshot(self, error_name):date_time datetime.now().strftime(%Y-%m-%d_%H.%M.%S)screenshot_name f{error_name}_{date_time}.pngscreenshot_path os.path.join(self._screenshot_path, screenshot_name)try:self._driver.get_screenshot_as_file(screenshot_path)with open(screenshot_path, rb) as image_file:image_data image_file.read()allure.attach(image_data, namescreenshot_name, attachment_typeallure.attachment_type.PNG)self._logger.info(f截图成功: {screenshot_path})except FileNotFoundError as e:self._logger.error(f保存截图时文件路径不存在: {e})except Exception as e:self._logger.error(f截取屏幕快照并保存时出错: {type(e).__name__}: {e}) test_case测试用例 conftest pytest.fixture(scopeclass) def driver():with allure.step(webdriver初始化):driver_instance init_driver()try:yield driver_instancefinally:with allure.step(退出浏览器):driver_instance.quit() test_login.py allure.epic(xxx系统) allure.feature(首页登陆页面) class TestLogin:pytest.fixture(autouseTrue)def setup(self, driver):self._lp LoginPage(driver)allure.title(正确账号登录)allure.description(验证正确账号可以登录首页)allure.severity(allure.severity_level.BLOCKER)pytest.mark.parametrize(login_account, yaml.safe_load(open(user_data_path))[login_data])def test_login(self, driver, login_account):try:self._lp.correct_login(login_account[CorrectAccount], login_account[CorrectPassword])except Exception as e:screenshot_taker Screenshot(driver)screenshot_taker.screenshot(f登陆出错)raise eunitls unil 未用到公共方法暂未配置 web_driver def init_driver():options Options()# 可选配置项options.page_load_strategy eager # 页面加载策略默认为normal可选eager和none。# options.add_argument(--headless) #无头模式options.add_argument(--disable-gpu) # 禁用gpuoptions.add_argument(--user-agentMozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/122.0.0.0 Safari/537.36 Edg/122.0.0.0) # 用户代理# options.add_argument(--incognito) # 隐身模式options.add_argument(--disable-infobars) # 禁用信息栏浏览器正在被自动化工具控制options.add_argument(--start-maximized) # 窗口最大化options.add_argument(--ignore-certificate-errors) # 忽略证书错误options.add_argument(--no-sandbox) # 禁用沙箱模式# 设置浏览器首选项prefs {download.prompt_for_download: False, # 下载文件时是否提示保存对话框safebrowsing.enabled: True, # 是否启用安全浏览功能credentials_enable_service: False, # 是否启用保存密码提示profile.password_manager_enabled: False # 是否启用密码管理功能}options.add_experimental_option(prefs, prefs)driver webdriver.Chrome(optionsoptions)return driver run运行文件 # 初始化日志配置 logger Logs.get_logger()# 路径配置 BASE_DIR os.path.dirname(__file__) TEST_CASE_DIR os.path.join(BASE_DIR, test_cases) REPORT_DIR os.path.join(BASE_DIR, reports)def main():try:# 执行 pytest 命令生成 Allure 报告logger.info(正在运行 pytest 以生成 Allure 报告...)subprocess.run(pytest_command, cwdTEST_CASE_DIR, shellTrue)# 执行 Allure 命令生成报告logger.info(正在生成 Allure 报告...)subprocess.run(allure_command, cwdREPORT_DIR, shellTrue)# 打开 Allure 报告logger.info(打开Allure报告...)subprocess.run(allure_open, cwdREPORT_DIR, shellTrue)except subprocess.CalledProcessError as e:logger.error(f发生错误: {e})exit(1)if __name__ __main__:main()
http://www.dnsts.com.cn/news/52068.html

相关文章:

  • 绵阳手机网站建设wordpress文章标题源码插件
  • 企业做网站乐云seo快速上线旺道seo优化
  • wordpress 网站域名网站建设期任务及总结
  • 织梦软件网站模板下载搞笑图片网站源码
  • 报名窗口网站建设淄博网站搭建公司
  • html做网站公告深圳有多少互联网公司
  • wordpress成品网站云部落在线免费网站建设平台
  • 网站建设与维护合同范本大型网站 建设意义
  • 小说在线阅读网站怎么做企业网站建设
  • 微信网站制作企业wordpress更改站点ip
  • 推广农村特色产品建设网站方案全球门户中企动力
  • 百度收录了我新网站的2篇文章了wordpress 记账
  • 建设游戏网站需要什么设备wordpress 中文seo
  • 云网站功能html设计网页作业
  • 网站运营有前途吗广东省住房和城乡建设局官网
  • 手机网站域名开头陕西头条新闻
  • 网站注册价格永康市建设局网站为什么打不开
  • 外国扁平化网站哪些网站开业做简单海报
  • 网站建设与维护制度北京平面设计公司名称
  • h5自助建站系统seo推广优化公司
  • 顺德网站制作公司泰安卫生人才网
  • 山东省建设厅网站查wordpress 插件作用
  • 南阳做玉器网站做电影网站许可证
  • 重庆哪里做网站如何选择网站定制公司
  • 如何搭建一个视频网站三蛋空间 wordpress
  • 哪个公司做网站比较好网站建设如何插音乐
  • 福州市台江区网站网页编辑软件edit
  • 云建站淘宝客网站销售方案
  • 网站建站论坛企业建设网站注意事项
  • 潍坊企业网站制作什么网站可以做软件有哪些