找回密码
 立即注册
  • 便民服务
  • 关注我们
  • 社区新手
本帖最后由 成都8班-姜培欢 于 2021-10-27 21:56 编辑

一po :即 page object ,页面对象模式,
二、优点:核心思想是通过对界面元素的封装减少冗余代码,同时在后期维护中,若元素定位发生变化,只需要调整页面元素封装的代码,提高测试用例的可维护性、可读性。
三、该模式一共分为6层
1、config:存放配置文件、比如项目的路径
导入需要用的模块:import os ,在该python file 文件中需要读取存放其他5个包的路径
2、data:存放账号,密码、url的等测试数据,主要文件类型有ini文件,.ini文件文件中有section和option之分
3、Public :在该Python package 下又分了两个层,第一个是Page层,主要封装了所有页面元素的公共方法和元素定位,在该层中有两个python file文件,首先是Basepage.py,在该模块下创建一个基础类,该类继承了unnitest.Testcase类,在该类下所有的方法均是以类方法的形式进行创建,以便后期调用该类的方法时直接可以通过类名调用方法(比如方法有setdriver、getdriver、find_element()),这些方法定位得到的值都会进行return 返回,以便后期的调用。
在第二个包主要封装读取ini文件数据的方法,会引入一个configParser类,这个类中的read()和get()方法可以读取.ini文件的section对应的option的值
4、testCase:封装了所有的测试用例,每个测试用例会定义一个类,这个类继承前面写的基础类(basePage),在该类中实例化一个driver对象,把该driver对象通过基础类的setdriver()方法传给基础类,
5、runtestCase:该层封装了运行所有测试用例的方法,需要导入Unittest包,然后用unittest这个类的defaultTestLoader.discover()这个方法进行模糊匹配运行测试用例,然后调用HTMLTestRunner这个类实例化一个runner对象,生成测试报告,最后实例化一个SendMail这个类的对象,把测试报告通过邮件进行发送
6、Report :该层主要存放Runtestcase层生成的测试报告,
     
   
分享至 : QQ空间
收藏

0 个回复

您需要登录后才可以回帖 登录 | 立即注册