【自动化测试】PO思路】的更多相关文章

http://blog.csdn.net/liubofengpython/article/details/7720078…
一.什么是PO模式 全称:page object model  简称:POM/PO PO模式最核心的思想是分层,实现松耦合!实现脚本重复使用,实现脚本易维护性! ​ 主要分三层: 1.基础层BasePage:封装一些最基础的selenium的原生的api方法,元素定位,框架跳转等. 2.PO层:元素定位.获得元素对象,页面动作 3.测试用例层:业务逻辑,数据驱动! 三者的关系:PO层继承继承层,测试用例层调用PO层! 二.什么是自动化测试框架 ​ 说到自动化框架,我相信很多人应该都听过这个词,但…
PO设计模式要点一:页面类都继承于BasePage 目录结构 ui_auto_test --src --pages --__init__.py --base_page.py --login_page.py --work_table_page.py login_page.py # conding:utf8 from .base_page import BasePage from .home_page import WorkTablePage #页面类都继承于BasePage class Login…
前言 很多的测试同学懂得使用selenium进行Web自动化测试, 但是不知道如何去写一个测试框架,或者说是一个容易维护的web自动化项目. 自己写一个最基本的web自动化测试框架需要会什么? 1. 语言基础,学到面向对象 2. 熟练使用selenium API (操作浏览器的方法) 3. 会使用基本的工具库,os,sys等 4. 一个测试框架 例如:unittest 5. page object设计模式 6. 熟悉html.css 目录结构 --pages --__init__.py --ba…
前提:熟悉测试业务及流程 任何Python自动化测试的前提,都是必须先熟悉实际测试业务. 任何脱离实际测试业务的自动化都是噱头且无实际意义! 测试的基本流程基本是: 测试需求分析,测试用例设计与评审,测试用例执行,报bug,整理测试报告. 测试用例设计与评审是熟悉软件产品需求的重要过程, 可以更深入地了解软件产品的具体需求. 先掌握手动执行用例 用例设计及评审结束后,先学会手动执行测试用例, 通过手动执行用例,也可以更好的了解软件产品的具体需求, 并学会总结归纳不同的测试类型的用例. 比如性能测…
流水账脚本 从头到尾编写测试脚本 PO封装 业务行为与操作具体页面元素分离 basepage封装 如封装find方法,目的时增强稳定性 数据驱动封装 将常用的数据改为配置文件 为构建测试平台打基础…
测试是一个贯穿于整个开发过程的连续过程,测试最基本的原理就是比较预期结果是否与实际执行结果相同,如果相同则测试成功,否则测试失败. 为了让单元测试代码能够被测试和维护人员更容易地理解,最好的解决办法是遵循一定的规范来编写用于测试的代码,具体到Python程序员来讲,则是要采用unittest这一自动测试框架来构造单元测试用例.目前PyUnit已经得到了大多数Python开发人员的认可,成了事实上的单元测试标准.如果采用unittest来进行同样的测试,则测试代码将下所示: from widget…
test_case目录下面放你要执行的用例 目录结构 ui_auto_test --src --test_case --__init.py --test_login_case --pages --__init.py --base_page.py --login_page.py --work_table_page.py test_login_case.py # conding:utf8 import unittest import os, sys #获取项目顶级文件夹绝对路径 src_path =…
页面元素定位信息 页面元素定位信息文件 [leadscloud_login] input_user_name = xpath>//*[@id='main']/div/div[2]/div[2]/div[2]/div/form/div[1]/div/div/input input_user_password = xpath>//*[@id='main']/div/div[2]/div[2]/div[2]/div/form/div[2]/div/div[1]/input button_login…
基于python单元测试框架unittest完成appium自动化测试,生成基于html可视化测试报告 代码示例: #利用unittest并生成测试报告 class Appium_test(unittest.TestCase): """appium测试类""" def setUp(self): desired_caps = { 'platformName': 'Android', 'deviceName': 'Android Emulator',…