Skip to content

shifengboy/sfuitest

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

44 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

sfuitest

这是一个基于Python语言的ui自动化测试框架

环境搭建参考:

使用前请执行 pip3 install -r requirements.txt 命令安装依赖插件,否则我保证你运行不起来……

ui: UI自动化框架

采用 selenium+appium+pytest+allure框架,基于 page object 模式进行基于数据驱动的二次封装
结构说明:
conf:存放驱动数据
  web:PC端
  app:移动端
    appController.yml:dirvie启动初始参数
lib:主要代码
  core:存放核心代码
    ext: 放了一些过时的和不需要的东西,不用看
    appController.py 启动appium服务、启动driver(对于server和deriver的一些管理操作,支持多线程)
    base.py: 基于selenium的二次封装,ing...
    baapp.py: 基于appium的二次封装,ing...
    handle.py: 装饰器,用来处理页面弹窗等异常情况,保存成功和失败的图片,生成测试步骤
    tool.py 主要封装了工具类
    path.py: 存放各种路径地址
  page 存放各个页面的功能方法
    app:存放移动端页面功能
    web: PC端页面功能
testCase 存放我们的case
  appCase: 移动端case
  webCase: PC端case
report: 存放测试报告和图片
bin: 运行入口
  apprun: 运行移动端case
  webrun: 运行PC端case
log:存放各种日志
sftest.py:辅助函数,存放一些公共方法,用于脚本运行时调用

功能:
1、采用数据驱动的方式,所有定位元素数据存放在一份ymal文件中,方便后续维护

2、采用PO思想,每个页面为一个类,页面中每个功能为一个方法,页面之间支持跳转

3、编写用例时无需考虑具体实现细节,直接调用即可

4、用例支持失败重跑,可设置重跑次数,避免环境不稳定造成的失败

5、增加辅助函数功能,提供一些公共函数,脚本运行中可以直接调用,避免一些输入唯一性的校验

6、页面元素定位不找支持跳过,主要针对一些非必填选择输入框,没有数据时不报错,不阻碍流程

7、提供异常处理功能,对于一些页面可能出现的弹框等异常做处理

About

基于Python语言的UI自动化测试自动化框架,持续优化中。。。

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published