前言 很多的测试同学懂得使用selenium进行Web自动化测试, 但是不知道如何去写一个测试框架,或者说是一个容易维护的web自动化项目. 自己写一个最基本的web自动化测试框架需要会什么? 1. 语言基础,学到面向对象 2. 熟练使用selenium API (操作浏览器的方法) 3. 会使用基本的工具库,os,sys等 4. 一个测试框架 例如:unittest 5. page object设计模式 6. 熟悉html.css 目录结构 --pages --__init__.py --ba…
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…
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 =…
一.等待的作用 1.在系统的功能运行过程中,所有的内容是需要一定的时间来实现展示, 2.时间耗费长短与网络速度.系统框架设定.接口的执行复杂度有关, 3.因此需要设置缓冲时间,若未设置缓冲时间,容易导致元素找不到 二.等待方式 强制等待 sleep() 导入time中的sleep,等待X秒后再执行后面的代码 缺点 1.无法精确把握等待的时间(如无法判断页面是否加载完成,是否可以进行下一步操作) 2.一直使用强制等待会降低自动化效率,浪费大量时间 优点 1.简单使用,一般在调试中使用    隐式等…
一.Unittest用例组织 在test_case目录下创建test*.py,组织测试用例 ├── test_case │   ├── __init__.py │   └── test_login.py test_login.py import unittest from pages.login_page import LoginPageAction from utils.constants import LOGIN_URL class TestLoginCase(unittest.TestCa…
Web自动化测试项目搭建(一) 需求与设计 Web自动化测试项目(二)BasePage实现 Web自动化测试项目(三)用例的组织与运行 Web自动化测试项目(四)测试报告 Web自动化测试项目(五)测试结果通知 Web自动化测试项目(六)多环境执行 Web自动化测试项目(七)日志 未完待续…
Web自动化测试框架(WebTestFramework)是基于Selenium框架且采用PageObject设计模式进行二次开发形成的框架. 一.适用范围:传统Web功能自动化测试.H5功能自动化测试. 二.兼容性:建议使用火狐或谷歌浏览器,因为Selenium与其兼容性最好. 三.框架改进亮点(比Selenium框架优的地方): 1. 采用PageObject设计模式,将某个页面的所有元素(包含控件)属性及元素操作封装在1个Class里面,如下所示:  这样做的目的是为了解耦,即测试代码与被测…
面向对象的特性:封装.继承.多态.在自动化中一样适用,Selenium自动化测试中有一个名字常常被提及PageObject(思想与面向对象的特性相同),通过PO模式可以大大提高测试用例的维护效率. 传统测试脚本的弊端 测试脚本分离,维护成本高 可扩展性差 复用性低等 PageObject设计模式 PO的核心要素: 在PO模式中抽象封装成一个BasePage类,该基类应该拥有一个只实现webdriver实例的属性. 每个一个page都继承BasePage,通过driver来管理本page中元素,将…
1.PO模式的思想 原理: 将页面的元素定位和元素行为封装成一个page类 类的属性:元素的定位 类的行为:元素的操作 页面对象和测试用例分离 测试用例: 调用所需要页面对象中的行为,组成测试用例 测试用例中,只需要含有页面函数的调用和断言,不应该出现元素定位等其他的操作,如果写测试用例中出现需要其他的额外的操作,可以想办法封装到页面对象或者元素定位中 好处: 当某个页面的元素发生变化,只需要修改该页面对象中的代码即可,测试用例不需要修改 提高代码的重用率,结构清晰,维护代码容易 测试用例发生变…
Web自动化测试框架(WebTestFramework)是基于Selenium框架且采用PageObject设计模式进行二次开发形成的框架. 一.适用范围:传统Web功能自动化测试.H5功能自动化测试. 二.兼容性:建议使用火狐或谷歌浏览器,因为Selenium与其兼容性最好. 三.框架改进亮点(比Selenium框架优的地方): 1. 采用PageObject设计模式,将某个页面的所有元素(包含控件)属性及元素操作封装在1个Class里面,如下所示: 这样做的目的是为了解耦,即测试代码与被测页…