多测师讲解ui自动化框架设计思想_高级讲师肖sir
UI自动化框架:
UI自动化框架可以分为8个模块,conf、data、public、pageobject、testcase、runner、report、log。
conf是用来储存系统环境、数据库、邮件的配置参数、项目的绝对路径、各个模块的绝对路径,其中文件有ini、yaml、xlsx文件等,通过响应的方法来处理相应的文件。ini文件一般通过继承configparse模块进行处理,yaml一般使用@unittest.skip@file_data@unpack装饰器进行读取,xlsx主要通过引用openxlrd、xlrd、xlwt、xlutils处理。
data是用来储存用来进行测试用例的测试数据,通过xlsx处理,然后通过公共的读xlsx方法进行处理。
public可以分为两部分,一部分可以用来储存自己设计的模块,如调用数据库模块,用到pymysql模块、日志输出模块用到logging模块、邮件发送模块用到smtp模块和email模块、处理ini文件模块用到configparse模块、读取xlsx测试用例数据模块用到openxlrd模块、xlrd模块、xlwt模块、xlutil模块,另一部分是用来封装对UI页面的处理基类,用到的selenium模块,其中包括选择驱动、打开网页、定位元素、鼠标移动、鼠标点击、动态等待、输入内容等。Base类中通过设置一个set-driver的类方法建立一个driver对象,然后测试用例来调取这个Base类中的set-driver方法中的driver对象,就可以通过单例模式来实现测试用例。有时候我们还在这个模块中针对每个流程进行封装。
pageElement是封装了当前界面的所有元素,这样我们就实现了元素定位、流程、案例的分离,降低代码之间的耦合度,降低维护成本。
testcase是用来封装测试用例,在此模块中我们可以通过调用基类的set-driver类方法实现单例模式。通过unitest框架继承unitest.TestCas设计测试用例。用到ddt数据驱动来输入测试数据。
runner是用来封装要运行的测试用例,还是通过使用unitest模块中的unitest.TestSuite来装测试用例,unitest.TestRunner,HTMLTestRunner来执行测试用例。
report是用来存储运行测试用例后的结果,用到HTMLTestRunner。
log是用来储存运行测试用例的日志,用到logging模块,设置输出的控制台的日志等级,设置输出到文件的日志等级等。
多测师讲解ui自动化框架设计思想_高级讲师肖sir的更多相关文章
- 多测师讲解a'pi自动化框架设计思想_高级讲师肖sir
API自动化框架API自动化框架分为conf.data.utils.api.testcase.runner.report.log8个模块.conf是用来储存系统环境.数据库.邮件等的配置参数.项目的绝 ...
- 多测师讲解自动化测试_rf节课内容_高级讲师肖sir
*** Settings ***Library Selenium2LibraryLibrary OperatingSystem *** Variables ***${name} zhangsan@{l ...
- 多测师讲解 自动化测试理论(1)_高级讲师肖sir
自动化测试理论什么是自动化测试?广义的:通过工具或程序替代或辅助人工测试的行为叫自动化测试狭义的:通过工具录制或编写脚本模拟手工测试的过程,通过回放或运行脚本执行测试用例,从而代替人工对系统的功能验证 ...
- 多测师讲解接口测试 _postman(下)_高级讲师肖sir
关联接口 定义:上个接口返回的参数作为下一个接口的入参 1)接口1:查询出所有的州,自治区,直辖市,省(且发送请求不需要入参) 接口url地址: http://www.webxml.com.cn/We ...
- 多测师讲解接口测试 _postman(上)_高级讲师肖sir
Postman 一.Postman介绍 Postman是一个网页调试工具,也可以调试css.html Postman的操作环境 环境:Postman Mac.Windows X32.Windows X ...
- 多测师讲解selenium ——切换窗口——打印句柄_高级讲师肖sir
(一)同一个窗口打开两个浏览器 from selenium import webdriverfrom time import sleepdrvier=webdriver.Chrome()url='ht ...
- 多测师讲解接口测试 _fiddler无法打开浏览器_高级讲师肖sir
错误现象: 打开fi'd'dler以后浏览器无法打开,关闭fiddler之后可以打开浏览器 解决方案: 1. 2. 在点击确定
- 多测师讲解自动化测试 _RF模拟鼠标悬停_高级讲师肖sir
test19 Open Browser https://www.ctrip.com/?sid=155952&allianceid=4897&ouid=index gc Maximize ...
- 多测师讲解自动化测试 _RF定位iframe框_高级讲师肖sir
Open Browser https://mail.163.com/ gc Maximize Browser Window sleep 2 #进入if框 Comment Input Text name ...
随机推荐
- 查看Linux虚拟机是什么架构
uname -a 可以看出此虚拟机是x86架构,64位
- CentOS+Phpstudy安装Sqli-Labs
CentOS+Phpstudy安装Sqli-Labs 安装环境 CentOS 7.5 vmware fusion phpstudy 安装步骤 1. 下载sqli-labs 2. 将sqli-labs ...
- 6.AVCodecContext和AVCodec
AVCodecContext AVCodecContext 结构表示程序运行的当前 Codec 使用的上下文,着重于所有 Codec 共有的属性(并且是在程序运行时才能确定其值)和关联其他结构的字段 ...
- js拖拽原理及简单实现(渣渣自学)
第一步 首先简单分析下需求吧,我们就是想实现鼠标拖拽带颜色的方块时,让方块停留在鼠标松开的位置,需要计算的就是拖拽前的坐标和拖拽后的坐标,鼠标移动后相对于原位置的偏移量=目标元素的偏移量,根据这个等式 ...
- MVC中将枚举类型数据应用到下拉列表中的方法
例如: public enum ItemTypes { Movie = 1, Game = 2, Book = 3 } 在MVC2.0中如何将以上枚举类型使 ...
- jzoj 3431. 【GDOI2014模拟】网格
Description 某城市的街道呈网格状,左下角坐标为A(0, 0),右上角坐标为B(n, m),其中n >= m.现在从A(0, 0)点出发,只能沿着街道向正右方或者正上方行走,且不能经过 ...
- SpringCloud实战 | 第三篇:SpringCloud整合Nacos实现配置中心
前言 随着eureka的停止更新,如果同时实现注册中心和配置中心需要SpringCloud Eureka和SpringCloud Config两个组件;配置修改刷新时需要SpringCloud Bus ...
- Badboy脚本录制工具
Badboy 目录 Badboy 1.Badboy安装 2.脚本的录制 1.Badboy安装 下载地址: http://www.badboy.com.au/download/index 安装其实傻瓜式 ...
- Java虚拟机栈--栈帧
栈帧的内部结构 每个栈帧中存储着 1.局部变量表(Local Variables) 2.操作数栈(Operand Stack)(或表达式栈) 3.动态链接(Dynamic Linking)(或执行&q ...
- hystrix源码之插件
HystrixPlugins 获取并发相关类(HystrixConcurrencyStrategy).事件通知类(HystrixEventNotifier).度量信息类(HystrixMetricsP ...