python po设计模式_Appium+Python+PO 设计模式 入门笔记

什么是PageObject?

属于selenium的一种设计模式,套用在appium身上了(实践表明,合适,因为selenium和appium"本是同根生")

个人对于PO的理解就是,页面元素 - 页面业务操作步骤的方法 - 测试用例 (我知道抽象,大家自行谷哥了解下)

下图是我的代码结构:

Data:测试数据。后期准备把代码中会所有测试数据都整合到excel或者xml内,Data文件夹就是这个用处

PO:所有Page。以Base页面为基础(看下图分析,来理解PO)

Public:一些公共的方法,比如测试报告脚本,封装好的

Result:测试结果,包括测试报告和截图

TestCase:测试用例都放这儿

run_case:测试套件,利用HTMLTestRunner.py,输出测试报告到/Result下

Base内重新封装的是基础的webdriver方法和一些你自己测试用例有需要的公用方法,PO内的其他Page都是继承自Base

appium与selenium的唯一不同就是对driver的设置上

在这里driver的调用,我感觉自己还没写好,我的需求是只在Base内定义好driver,指定好端口,所有测试用例共用一个driver,直接在测试用例内调用,我调试过了,自己python水平也是一般,没改出来,后期我再改善一下这个。

直接在Page内封装整个业务流程的方法,测试用例中代码量会少很多。(当然写在测试用例中也是可以的)

简单说明下:

* 场景:登录业务

* Page内:a.输入用户名 b.输入密码 c.点击登录按钮;A.登录方法(包含abc)

* 测试用例内: 1.直接调用Page的A;2.顺序调用Page的abc

这两种方式各有各的利弊,各取所需吧

测试用例我用的是unittest

我这个demo没有写断言,没有打log,测试数据也没有放到外部文件。这些都是后期要改善的

关于报告的输出

通过测试套件去驱动HTMLTestRunner生成测试报告,并且加入了截图功能(这些都是参考selenium大神Ray的,请参照他的coding:https://coding.net/u/tsbc/p/PySelenium_PO/git)

总结

demo(https://github.com/JennyHui/appium)

整体看来框架的搭建是很简单的,但也算是五脏俱全吧(好吧,还差几个,我知道啦)。个人觉得对于框架怎么搭,用哪种设计模式,用哪种工具,选择性还是很多的。跟web类似的啊,关键字,PO,RF......各取所需吧各位,而且,不同的设计模式下,代码结构如何,也是看各人选择的。

下一阶段学习,就像我写的完善driver调用,打log,加断言,测试数据移至excel,有些人页面元素也想放到config内,这一点大家可以根据项目来权衡。

如果我可以,你也可以,因为我是菜鸟。请在一个礼拜之内搞定你的代码结构哦

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值