Web自动化实战(3)-- litemail电商项目
2022/6/27 6:21:02
本文主要是介绍Web自动化实战(3)-- litemail电商项目,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
这一篇主要讲怎么优化现有代码。
本篇将会由几个方面进行优化:
1.通过将定位信息转换成变量来进一步封装
2.配置log,在必要的地方打log,方便后续调试和排查问题
3.使用allure生成测试报告
4.数据清理
5.参数化
通过将定位信息转换成变量来进一步封装:
举一个例子,其他的类也差不多改造下。
HomeScreenPage
class HomeScreenPage(BasePage): __MALL_MANAGE_SELECT_BUTTON = (By.CSS_SELECTOR, ".el-submenu__title") #封装成参数变量,后面如果有变动,直接修改这些参数即可。 __ITEM_CATEGORY_BUTTON = (By.XPATH, "//*[text()='商品类目']") def enter_category_page(self): #点击商场管理 self.do_find(self.__MALL_MANAGE_SELECT_BUTTON).click() #点击商品类目 self.do_find(self.__ITEM_CATEGORY_BUTTON).click() # sleep(2) #-->进入商品类目界面 from page.item_category_page import CategoryPage return CategoryPage(self.driver)
配置log:
创建pytest.ini
log_cli_level = info addopts = --capture=no log_cli_format = %(asctime)s [%(levelname)s] %(message)s (%(filename)s:%(lineno)s) log_cli_date_format = %Y-%m-%d %H:%M:%S log_file_level = info log_file_format = %(asctime)s [%(levelname)s] %(message)s (%(filename)s:%(lineno)s) log_file_date_format = %Y-%m-%d %H:%M:%S
conftest.py里面修改log文件名称
*此部分参考https://www.csdn.net/tags/NtjaMgysMDcxNTgtYmxvZwO0O0OO0O0O.html
import os import time now=time.strftime('%Y%m%d_%H%M%S') #以日期时间做报告文件名,'%Y%m%d_%H%M%S' project_name = "WebTest" logfile_name=f'{now}_{project_name}.log' #日志文件名 def pytest_configure(config): # 如果只需要输出log日志只要设置此行就可下方的都删掉就行,意思设置log输出文件目录 config.option.log_file = os.path.join(config.rootdir, 'log', logfile_name)
创建log_utils.py
import logging logger = logging.getLogger(__name__)
使用:
from utils.log_utils import logger logger.info("从首页跳转到商品类目页面")
使用allure生成测试报告:
加入allure feature story等
@allure.feature("商城测试") class TestLitemall: def setup_class(self): self.home = LoginPage().login() def teardown_class(self): self.home.quit() # 测试步骤: # 打开网站 # 登录 # 点击商场管理,点击商品类目 # 点击添加 # 填写类目名称 # 点击确认 # 预期结果: # 存在刚刚创建的类目 @allure.story("添加商品类目成功") @allure.title("添加用例") def test_add_item(self): res = self.home.\ enter_category_page().\ enter_add_category().\ add_category().\ get_result() allure.attach("/screenshot/sucess_create.png","截图",attachment_type=allure.attachment_type.PNG,extension='.png') assert res == "创建成功"
数据清理
参数化
这篇关于Web自动化实战(3)-- litemail电商项目的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-12-22程序员出海做 AI 工具:如何用 similarweb 找到最佳流量渠道?
- 2024-12-20自建AI入门:生成模型介绍——GAN和VAE浅析
- 2024-12-20游戏引擎的进化史——从手工编码到超真实画面和人工智能
- 2024-12-20利用大型语言模型构建文本中的知识图谱:从文本到结构化数据的转换指南
- 2024-12-20揭秘百年人工智能:从深度学习到可解释AI
- 2024-12-20复杂RAG(检索增强生成)的入门介绍
- 2024-12-20基于大型语言模型的积木堆叠任务研究
- 2024-12-20从原型到生产:提升大型语言模型准确性的实战经验
- 2024-12-20啥是大模型1
- 2024-12-20英特尔的 Lunar Lake 计划:一场未竟的承诺