geteditor p 取消自动_自动化测试实战项目的重构说明

18d40eada1dafd23ca6df284d9e16fce.gif

前言

最近好多人和我反应我GitHub上的项目实战代码都运行不了,我简单的看了一下几个人的错误信息,多数是因为开发环境,126邮箱升级或者代码本身的问题导致的,正好赶上周末,花费了2天的时间把能运行的几个项目简单的重新写了一下,这里主要是126邮箱的项目, 其他的几个包括接口和其他Ui测试的项目我实在是不能提供数据库信息和被测网站的帐号信息给你们使用,因此是无法运行的,这里说声抱歉,但是代码我还是开放在GitHub上的,虽然无法运行,但是也具有一定的学习价值,接下来说说能运行的几个项目我改了什么,以便想学习的同学能够顺利的运行代码。 c1b1c40b062c5d8040047cd32c3f4aaf.png

关键字驱动测试实战

   GItHub地址

https://github.com/13691579846/KeyWordDriverTestFrameWork

   博客地址

https://www.cnblogs.com/linuxchao/p/linux-python-selenium-keywordFW.html

   修改内容
  • 修改了整个项目的代码命名规范及代码编写规范,使其更加符合PEP8

  • 修改了登录功能的测试步骤,由于126邮箱升级,登录页面添加了是选择扫码登录还是帐号密码登录,因此用例添加了选择帐号密码登录这一步骤

  • 新添加了部分用例及修改了有时用例被标记为N或者Y时代码报错的问题

  • 放弃了使用模拟键盘结合剪切版实现上传文件的方式(不稳定),改用了selenium提供的send_keys方法(之前没注意,今天改的时候才发现可以直接send_keys)

  • 关键字数据驱动测试可以应用到RobotFrame框架中,所以学习本项目对于学习RF也比较有用,当然让这个项目的主要目的还是为了理解关键字驱动的概念

数据驱动测试实战

   GitHub地址

https://github.com/13691579846/DataDriverTestFrameWork

   博客地址

https://www.cnblogs.com/linuxchao/p/linuxchao-datadrivertestframework.html

   修改内容
  • 修改了整个项目的代码命名规范及代码编写规范,使其更加符合PEP8

  • 修改了登录功能的测试步骤,由于126邮箱升级,登录页面添加了是选择扫码登录还是帐号密码登录,因此用例添加了选择帐号密码登录这一步骤

  • 重构了部分目录结构,添加了base.py文件,使其项目比较符合PageObject的设计模式

  • 重构了用例的执行逻辑,使其不只能够单向运行,可以选择哪些用例执行哪些用例不执行

  • 添加了失败用例截图的功能

  • 本项目主要了解数据驱动的思想,对学习unittest等测试框架的数据驱动有一定帮助

Pytest框架测试实战

   GitHub地址

https://github.com/13691579846/PytestAutoTestFrameWork

   博客地址

https://www.cnblogs.com/linuxchao/p/linuxchao-pytest-Actual.html

   修改内容
  • 修改了整个项目的代码命名规范及代码编写规范,使其更加符合PEP8

  • 修改了登录功能的测试步骤,由于126邮箱升级,登录页面添加了是选择扫码登录还是帐号密码登录,因此用例添加了选择帐号密码登录这一步骤

  • 对所有用例进行了拆分,取消了使用嵌套if来判断执行结果时选择使用哪个断言方法,根据系统对输入不同数据时给出的提示信息不同,对测试数据进行了分组,也对用例进行了  分组,使其逻辑性及用例的可读性更强

  • 放弃了使用模拟键盘结合剪切版实现上传文件的方式(不稳定),改用了selenium提供的send_keys方法(之前没注意,今天改的时候才发现可以直接send_keys)

  • 添加了失败重跑的机制,主要通过pytest-rerunfailures插件并添加命令行选择的方式实现

  • 修改了测试用例目录下的conftest.py文件,把执行用例前后的条件分开管理,使逻辑更加清晰

  • 删除了pytest-html生成测试报告时,报告中存在无用的link列

  • 放弃了由excel管理测试数据,改为指定的py文件来管理数据,主要为了操作简单.

  • Pytest框架实现的这个项目相对前两个项目,更加灵活,更加全面,难度也比较大,希望对想学习pytest测试框架的你有一定的帮助

unittest框架测试实战

   GitHub地址

https://github.com/13691579846/Petrochina_Retail_Test_Project

   博客地址

https://www.cnblogs.com/linuxchao/p/linuxchao-python-selenium-demo.html

  这个项目没有做任何修改, 因为项目本身有网络的限制,所以改不改也没什么必要,大家用来作为参考就好了

总结

  以上4个项目仅供学习使用,项目中使用的126邮箱帐号是我自己本人的,所以大家尽量不要使用我的帐号来测试,改成自己的帐号
  • 所有的项目均有改进的空间,大家可以在了解了项目的基础上自己动手修改不足的代码,或者根据自己的想法重构整个代码

  • 能够执行的3个项目我都添加了环境管理文件requirements.txt,如果你clone了本项目,只要在项目目录下执行 pip install -r requirements.txt 命令即可自动安装本项目使用的所有第三方依赖库-注意:最好是为项目新键一个空白的虚拟环境,在虚拟环境下安装项目使用的库,避免本地环境和项目环境冲突,导致无法成功运行

  • 提示:126邮箱本身如果频繁的登录和发送邮件时,都会有验证码验证,即使你代码中清理的cookies也是,所以给自动化带来了很多麻烦,因此尽量保证项目中有限的测试数据即可,对于学习来说也足够了

d4405e053aed815b06f2c3af1f4f00e3.png

f9dc848d1eb8c8aeda11097844a34865.png

原文链接:https://www.cnblogs.com/linuxchao/p/linuxchao-Project-Reengineering.html

本文为51Testing经授权转载,转载文章所包含的文字来源于作者。如因内容或版权等问题,请联系51Testing进行删除。

推荐阅读

点击阅读☞接口测试框架实战与自动化进阶指南!

点击阅读☞六个步骤成功实现敏捷测试自动化

点击阅读☞自动化测试框架如果都总结成这样,人人都能学好

点击阅读☞自动化测试第一步 | Selenium自动化环境搭建

点击阅读☞如何做好自动化测试技术和区块链技术? 

89f498d5925e14d9458d9d303467fa33.gif988a7cf83211062979f0c97a88beb8c7.gif 7df8572523feb96a60f30db151996dd5.png爱我请给我好看! 988a7cf83211062979f0c97a88beb8c7.gif
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值