基于PO和单例设计模式用python+selenium进行ui自动化框架设计【多测师_王sir】

本人是一名软件测试技术爱好者,希望和大家一起交流ui,接口,性能,功能,人工智能,大数据等技术。
更多免费软件测试ui和接口自动化框架设计视频就在多测师官网:www.duoceshi.cn
多测师_王sir原创

一)框架目录的结构
在这里插入图片描述

二)config包当中的config.ini文件主要是用来存项目的绝对路径,是为了后续跑用例和生成测试报告做准备
然后目前的配置文件大都会用yaml,ini,excel,还有.py也就是python文件来进行管理这里用的是ini文件。在这里插入图片描述

三)config包当中的globalconfig文件主要是用来生成项目的路径,测试用例,测试报告的路径
其中调用了ReadConfigIni这个类来读取ini格式的文件。
在这里插入图片描述

四)Data.xlsx主要是用来存放项目的url,账号和密码的
通过excel来存放,可以增加数据的稳定性,后面会通过封装读取excel文档的工具类,来对excel文档中的数据进行读取
data

五)public包中pages包中的BaseTestCase模块主要是用来放基类的
当中并且通过set_driver传入一个driver对象来进行设置driver对象,这其实就是单例设计模式的体现然后通过get_driver来拿driver,
所以只要继承BaseTestCase这个基类,就可以拿到这个类当中的一切类方法。然后定位页面元素
用find_element这个类方法来进行封装,可以使得传入的参数是一个
元组,然后这里其实用到了Java当中的page object设计模式,也就是所谓的PO设计模式,使得页面中的每一个控件都变成了对象的属性。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
六)public包中pages包中的login模块主要封装了项目的登录,首先创建一个driver对象,然后通过调用set_driver方法把driver传给基类,这个地方是最为关键的地方,所以基类中的driver,其实就是这个地方传进去的,然后把driver对象赋值变成了BaseTestCase这个基类的类变量也就是类的属性,所以后续基类当中的类方法其实都是使用的这个login模块中创建的这个driver对象,这样的目的就是可以保证我们的项目从头到尾都是使用的同一个driver对象,同一个driver指的就是打开的为同一个chrome浏览器。
在这里插入图片描述
在这里插入图片描述

七)这里封装了一个读取excel的工具类
因为后续我们的项目的账号和密码都存在excel文档中去了,所以需要封装一个
读取excel的工具类,来读取账号和密码,其中用到了xlrd模块来读取。
在这里插入图片描述

八)Login_data模块中主要是读取excel然后返回url,账号,密码
get_password方法因为生成的数据是浮点数,所以用了int函数进行转换。
在这里插入图片描述

九)封装了一个发送邮件的工具类,值得注意的是这里用的是163的smtp服务器
这个代码是不适用QQ服务器的,而且pwd是163邮箱的授权码,不是密码
这个地方需要注意。
在这里插入图片描述
在这里插入图片描述

十)PageElement这个模块很为关键,这个PageElement类当中封装了所有页面的网页元素这里其实就是用到了让一个项目中的所有元素定位和用例流程和最终的用例进行分层处理这个设计有点像RF框架当中的三层封装设计模式:元素层,流程层和案例层,但是这样处理有一个问题就是代码量会很多。但是优势也是非常明显的
优势如下:
1.让元素定位,流程,案例进行了分离
2.前端代码关于元素定位有改动可以随时进行处理,修改非常方便
3.让代码间的耦合性降低
4.降低代码的维护成本
5.代码的复用性高
6.采用标准的page object页面对象设计模式,符合现在主流ui自动化框架的标准搭配
在这里插入图片描述

十一)这里封装了一个工具类,主要是用来读取ini文件的
需要先在dos窗口用pip install configparser来安装configparser模块
在这里插入图片描述

十二)run模块中主要是用来加载和运行所有的用例,并且生成测试报告和发送测试报告。
在这里插入图片描述
在这里插入图片描述

十三)编写测试用例,后续有当前模块的测试用例就可以更新在当前这个模块中
然后进行断言。
在这里插入图片描述

  • 5
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
课程介绍你是否在寻找机会进入自动化测试领域? 你是否渴望学习selenium webdriver + Java以及最新的框架和技术进行web自动化测试? 你是否感兴趣学习Selenium如何用在你现有的项目里的? 这门课带你从Selenium搭建环境开始讲起,然后学习selenium,TestNG, logback, maven, jenkins。 我们假设学员没有任何自动化经验,来设计的这套课程。每个课题都从最基础的开始讲起。Selenium相关的该覆盖的课题都覆盖了。 例子都是来自于真实的web应用项目,帮助你理解不同的组件怎么用上自动化,这将展示给你一个行业层面的框架,增加自信心。 全网没有其他课程像这门课涵盖到如此之深的细节。 您将会学到什么 学完课程以后,你将拥有完整的Selenium Webdriver知识 你将具备从头开始设计Page Object、Page Factory、DATADRIVEN等搭建自动化框架的能力 用100多个实例对Selenium现实场景应用进行深入理解 全面了解TestNG, Maven, Jenkins, HTML报告,多浏览器并行测试 了解数据库测试和使用Selenium进行性能测试 你将彻底了解testNG框架 你从网上随便选择一个网站,都可以实现自动化,用所有可能的测试用例进行自动化测试 将提高你的编码技能,以编写最优化的自动化测试用例代码 你基本可以搞定任何Selenium面试,并能从设计阶段开始领导整个Selenium自动化项目 你应该能够使用应用程序的GUI来验证数据完整性 你将能够创建漂亮的报告来打动客户或领导 更深入地理解自动化指南和代码质量标准 会附带一个练习网站,可以用上所有可用的WebDriver功能,实现自动化 【适合人群】 软件手动测试人员想转为自动化测试的人员 自动化软件测试人员想加强专业技能的 刚毕业学生想从事软件行业 QA 组长或项目经理 【课程优势】 学完课程以后,你将拥有完整的Selenium Webdriver知识 【讲师介绍】 资质介绍: 12年以上软件测试工作经验,其中7年以上自动化测试开发经验 新书“Python3+Selenium3自动化测试项目实战”作者

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值