Swift PLM—Pytest+Excel+Allure完整框架集成

首页    产品中心    Swift PLM功能点介绍    Swift PLM—Pytest+Excel+Allure完整框架集成

 

实现Pytest+Excel+Allure的框架封装,并且结合异常处理及编写动态生成测试标题完善测试标题、及实现接口关联。

  • Pytest数据参数化(DDT)

参数化实现是指在测试中使用参数化的方式来执行多组相似的测试数据或测试步骤。通过参数化,可以轻松地对不同的输入数据进行测试,并在一次运行中执行多个测试案例。    

假设你需要测试一个登录功能,输入用户名和密码后验证登录结果。可以使用参数化实现多组输入数据的测试:

  1. 测试正确的用户名和密码登录成功

  2. 测试正确的用户名和错误的密码登录失败

  3. 测试错误的用户名和正确的密码登录失败

  4. 测试错误的用户名和密码登录失败

语法结构:

常用参数:

  1. argnames:参数名

  2. argvalues:参数对应值

运行方式:参数值为N个,测试方法就会运行N次

当参数为一个时格式:[value]

当参数个数大于一个时,格式为:[(param_value1,param_value2.....),(param_value1,param_value2.....)]

单参数:元组或者列表

多参数:列表+元组

多参数:列表+字典

优化:数据都可以通过方法获取

以下是一个使用 pytest 测试框架和参数化装饰器的示例:

在上述示例中,使用 @pytest.mark.parametrize 装饰器为 test_login 函数指定了多组输入参数,每组参数由 (username, password, expected_result) 组成。在测试过程

中, pytest 框架会自动使用每组参数执行 test_login 函数,并根据断言验证结果是否符合预期。

通过这种方式,你可以轻松地测试多组登录输入数据,验证登录功能的正确性,减少了重复编写相似的测试用例代码。

  • Pytest+Excel接口自动化框架

2.1 封装Excel的读取的方法

读取Excel方法如下:

2.2 维护对应的文档路径

相对路径:文件路径的读取是根据当前文件来找路径的,以下主要用户run_main.py文件进行运行

config.py添加内容如下,前提文件放到对应的目录下

验证数据读取 :test_Excel_Dome版本

参考代码:

2.3 EXCEL读取的方法封装

2.3.1 eval()函数的应用

eval() 函数是 Python 内置的一个函数,用于将字符串作为代码执行,并返回结果。

eval() 函数的语法如下:

参数说明:

  1. expression : 表示要执行的代码字符串,可以是一个表达式、语句或者函数调用。

  2. globals (可选): 表示全局命名空间,传递一个字典作为全局命名空间,用于执行表达式。

  3. locals (可选): 表示局部命名空间,传递一个字典作为局部命名空间,用于执行表达式。

eval() 函数的返回值是执行结果。

下面是一些 eval() 函数的示例:

  1. 计算表达式的值:

  1. 执行函数调用:

需要注意的是, eval() 函数具有执行任意代码的能力,但也带来了一些安全风险。在使用 eval() 函数时,应该确保传递给它的代码是可信的,避免执行不受信任的代码。

2.3.2 getattr()函数的应用

getattr() 函数是 Python 内置的一个函数,用于获取对象的属性或方法。

getattr() 函数的语法如下:

参数说明:

  1. object : 表示要获取属性或方法的对象。

  2. name : 表示要获取的属性或方法的名称。

  3. default (可选): 表示当属性或方法不存在时的默认值。

getattr() 函数会尝试从 object 中获取指定名称的属性或方法。如果属性或方法存在,则返回该属性或方法;如果不存在,则根据传入的 default 参数返回默认值或者引发 AttributeError 异常。

下面是一些 getattr() 函数的应用示例:

需要注意的是, getattr() 函数用于动态地获取对象的属性或方法,可以在运行时根据需要进行灵活操作。但也需要注意确保对象和属性或方法的名称是正确的,避免引发 AttributeError 异常。

  • 完整形态自动化框架组装

3.1 封装结合异常处理

思路:

  1. 结合异常进行处理

  2.  进行断言,通过与否,根据情况写入到EXCEL中(注:写入的过程excel一定要关闭

3.1.1 封装主函数

参考代码:

3.1.2 写入Excel方法

参考代码:

3.1.3 维护写入EXCEL中的msg

参考代码:

Excel的执行结果:

3.2 Allure报告日志及动态标题

思路:

  1. 快速生成allure测试报告和日志

  2. 应用allure装饰器轻松抓取接口传递的数据

  3. 应用allure装饰器动态生成接口用例标题、模块名、备注信息、用例级别

3.2.1 新增动态生成标题

在原有基础上新增如下的方法(__dynamic_title),并且在testDat方法中进行调用

参考代码:

3.2.2 运行效果

Allure报告执行结果:

关于杰信

杰信软件成立于2015年,是一家提供企业数字化转型的专业服务提供商,专注于企业研发管理、企业运营管理等领域,提供数字化平台建设、PLM实施咨询、数据集成等服务。公司作为国内知名的国产PLM原厂商和专业服务商,是Oracle甲骨文公司亚太区金牌合作伙伴和SAP公司中国地区银牌合作伙伴,目前杰信软件自主研发的Swift PLM产品生命周期管理系统广泛应用于芯片半导体、高科技电子、医疗器械、生物医药、汽车零部件、离散制造、自动化设备、航空航天、食品饮料等行业,同时也提供甲骨文Agile PLM、SAP ERP等数字化产品和解决方案,为智能制造领域提供全面的数字化产品生命周期管理PLM平台和解决方案服务。

 

 

2025-07-03 22:18
浏览量:0

杰信软件Swift PLM产品生命周期管理

 

      杰信软件专注于医疗器械、高科技电子、芯片半导体、精密制造、离散组装设备、汽车零部件等行业PLM解决方案咨询和实施,同时有着超20年的EDM咨询和实践经验,杰信软件立志于将最先进的业务模式与管理创新方法,通过杰信软件公司专家团队提供的专业信息化解决方案,帮助企业飞速发展。因此公司研制开发了一套有着自我知识产权的国产PLM系统Swift PLM,它有着轻量化、高效化、实用化、易用化的特点,是中小型企业研发设计管理的最佳工具。

 

想要了解更多详细内容,赶紧联系我们吧! 

请拨服务电话: 4007-169-700

或发送邮件至:marketing@jiexininfo.com 

获取更多资料。