Giter VIP home page Giter VIP logo

uiautodemo's Introduction

UiAutoDemo

基于seldom 和 poium库的 UI自动化测试框架模板

简介

UiAutoDemo是一个下载即可用的UI自动化测试框架,专为公司自动化项目免去搭建自动化脚手架,也极其适合刚入门的自动化测试小白。很多入门小白不知道如何去搭建脚本的基本结构,自动化的框架架构;不用担心!这款框架绝对让您满意!

框架支持邮件发送、HTML测试报告、框架默认含Chrome浏览器驱动

特点

  • 已经搭建好的PageObject设计模式的脚手架。
  • 提供seldompoium API编写自动化测试。
  • 全局启动浏览器和关闭浏览器,减少浏览器的启动次数。
  • 支持测试用例参数化 parameterized
  • 支持用例 失败/错误 重新尝试case
  • 支持生成HTML测试报告 与 XML测试报告,用例失败/错误自动截图
  • 支持HTML测试报告邮件发送
  • 自动根据当前环境,调用Chrome浏览器驱动

必看!

  • UiAutoDemo框架使用的是 PageObject设计模式,简称PO;不懂什么是PO设计模式,下面有介绍 ↓;
  • 使用的编译语言 Python>=3.5
  • 框架使用的是 seldompoium 第三方库,往下看有介绍 ↓;
  • 本框架自带Chromedriver浏览器驱动,自动检测本地操作环境调用该环境相应的Chrome驱动程序,但需要本地浏览器更新到最近版本
  • 测试类与测试用例的命名请遵从 ASCII码的顺序加载测试用例,数字与字母的顺序为:0-9,A-Z,a-z
  • UiAutoDemo仅兼容Unittest框架;请勿使用其他测试框架运行
  • 框架内的Chromedriver驱动作者会持续更新,也可自行引入路径

项目架构

-  UiAutoDemo/
- |── test_case/
-          |── test_login.py
- |──models/
-          |── url.py
-          |── mail.py
-          |── osDriver.py
- |──PageObject/
-          |── loginPage.py
- |── Browser_Driver/
-          |── chromedriver84(Mac64)
-          |── chromedriver84(win32).exe
- |── reports/
-          |—— 年_月_日_时_分_秒_result.html
-          |—— 年_月_日_时_分_秒.xml
- └── run.py
  • testcase 文件夹用于存放页面元素,测试用例,公共元素
    • - test_login.py 编写局部模块的测试用例并执行
  • models 文件夹存放公共元素,如url
    • - url.py 存放测试url路径
    • - mail.py 用于发送邮件
    • - osDriver.py 检查本地操作系统环境,根据本地环境自动选择相应的driver驱动运行项目
  • PageObject 文件夹存放测试过程中需要使用的页面元素
    • - loginPage.py 存放页面元素定位,封装元素实例化
  • Browser_Driver 文件夹存放浏览器驱动
    • - chromedriver84(Mac64) Mac操作系统Chrome驱动
    • - chromedriver84(win32).exe Windows操作系统Chrome驱动
  • reports 文件夹存放项目测试后生成的测试报告
    • - 年_月_日_时_分_秒_result.html HTML测试报告
    • - 年_月_日_时_分_秒.xml XML测试报告
  • run.py 执行所有的测试用例并执行

依赖库

  • Python3.7.4 >=
  • poium0.6.3 >= (pip install poium)
  • seldom1.7.0 >= (pip install seldom)

PageObject设计模式

PageObject模式是Selenium中的一种测试设计模式,主要是将每一个页面设计为一个Class,将页面定位和业务操作分开,分离测试对象(元素对象)和测试脚本(用例脚本),提高用例的可维护性。其中包含页面中需要测试的元素(按钮,输入框,标题 等),这样在测试页面中可以通过调用页面类来获取页面元素,这样巧妙的避免了当页面元素id或者其他位置变化时,需要改测试页面代码的情况。 当页面元素id变化时,只需要更改测试页Class中页面的属性即可。

UiAutoDemo框架模块

框架内的每个py文件都有注解;请使用者仔细阅读

1、此框架仅根据PageObject设计模式搭建的基础框架

2、封装一些便于运行项目的模块

3、Chromedriver驱动调用from models import osSystem

4、运行项目

d4I3TK.png

5、查看报告 可以到reports查看测试报告

查看报告

seldom文档

请阅读下面的文档,帮助你快速学习了解Seldom。

poium文档

写到最后

1.此项目仅是一个自动化测试项目的脚手架,并不是Python第三方库

2.对selenium有一定的基础底子,能够很快用起来;纯小白也没关系,仔细阅读seldompoium文档即可

3.后期会不断添加一些新奇功能便于测试项目的工作

交流

QQ群:948994709

uiautodemo's People

Contributors

barryybl avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.