用例需注意的点-UI自动化
记几条--用例注意事项:用例从功能里面转化而来,并且不能脱离业务(针对某一个页面功能\某一个流程业务,写一条用例:即将界面操作间接转化为代码去操作!)
1用例要尽量独立,相互不影响!(单独一条都可运行)---尽量降低耦合度
2如果是同一个功能或者页面的几个元素, 建议可以封装为一个类
3接着第2点,封装好的每个类都是一个测试点 (如:输入参数不一样,就如同一个功能的正常和异常的测试)
4每个用例的class类名:建议按照:驼峰命名(LoginSignName),并且都默认继承unittest.TestCase类:class TestLogin(unittest.TestCase):
5(可以选填前置setup和后置teardowm,没有的话可以写pass)注意:在用例里面可以加入使用@classmethod类装饰器:如:@classmethoddef setupclass(cls): #------所有用例之前执行,仅执行一次 cls.driver=webdriver.Firefox() cls.lo=Login(cls.driver)def setup(self): #------每条用例前执行,每条用例前都会执行一次 self.driver.get(url) self.driver.refresh()#刷新浏览器def teardown(self):#-----每条用例之后执行,每条用例结束都会执行一次 self.driver.delete_all_cookies()#清除浏览器缓存cookie
@classmethoddef teardownclass(cls):#------所有用例结束后执行,仅执行一次 cls.driver.quit()##关闭浏览器
ps:一般用于比如:只启动一次浏览器,最后关闭浏览器及清理缓存(而setup和teardown一般用于执行的前置条件或者后置
6内部的每个case都要test开头(如test_case01)原因:用例执行顺序是按ASCII码先后顺序执行 7每个用例都要有assert断言(没有assert断言那么这个用例 如同是伪用例)8用例里面加入判断时,直接使用EC模块即:expected_conditions,这个selenium自己带的异常分析模块里面的方法即可!!!
注意!!!用例class类里面,不要用def __ init__这个构造方法。只在功能函数里面使用,用例只用来写功能的测试case不存在要去使用构造函数或者其他
https://www.cnblogs.com/QiKa/p/14389915.html
用例需注意的点-UI自动化的更多相关文章
- Android手机QQ的UI自动化实践
本文首发于果的博客园,原文链接:https://www.cnblogs.com/yuxiuyan/p/14992682.html, 转载请注明出处. UI自动化 我们为什么要搞UI自动化 可能很多同学 ...
- (appium+python)UI自动化_07_app UI自动化实例【叮咚搜索加车为例】
前言 初学UI自动化的小伙伴,在配置好appium+python自动化环境后,往往不知道如何下手实现自动化.小编在初期学习的时候也有这种疑惑,在此以叮咚买菜app-搜索加车为实例,展示下appium是 ...
- 基于PO和单例设计模式用python+selenium进行ui自动化框架设计
一)框架目录的结构 二)config包当中的config.ini文件主要是用来存项目的绝对路径,是为了后续跑用例和生成测试报告做准备然后目前的配置文件大都会用yaml,ini,excel,还有.py也 ...
- python UI自动化实战记录七:页面2用例编写
使用python自带的unittest测试框架,用例继承自unittest.TestCase类. 1 引入接口类和页面类 2 setUp函数中打开页面,定义接口对象 3 tearDown函数中关闭页面 ...
- python UI自动化实战记录六:页面1用例编写
使用python自带的unittest测试框架,用例继承自unittest.TestCase类. 1 引入接口类和页面类 2 setUp函数中打开页面,定义接口对象 3 tearDown函数中关闭页面 ...
- 小心!做 UI 自动化一定要跨过这些坑
一 .引子 UI自动化,在移动互联网时代的今天,一直都是在各大测试社区最为火爆的一个TOPIC.甚至在测试同行面前一提起自动化,大家就会自然而然的问:“恩,你们是用的什么框架?appium?还是rob ...
- (appium+python)UI自动化_09_unittest批量运行测试用例&生成测试报告
前言 上篇文章[(appium+python)UI自动化_08_unittest编写测试用例]讲到如何使用unittets编写测试用例,并执行测试文件.接下来讲解下unittest如何批量执行测试文件 ...
- 基于python2+selenium3+pytest4的UI自动化框架
环境:Python2.7.10, selenium3.141.0, pytest4.6.6, pytest-html1.22.0, Windows-7-6.1.7601-SP1 特点:- 二次封装了s ...
- Python UI自动化
Python3--Uiautomator2--Pytest--Alure使用 官方源码GitHub地址:https://github.com/openatx/uiautomator2 介绍 uiaut ...
- UI自动化,你值得拥有
去年春节联欢晚会,为了那张“敬业福”,全家都卯足了劲儿“咻一咻”,连节目都顾不上看了.当时我就想,要是能自动化该多好,不停点击屏幕,屏幕不疼手还疼呢,何况还不好分心,生怕错过了“敬业福”.玩“咻一咻” ...
随机推荐
- CF构造题1600-1800(1)
D. Same Count One(Polynomial Round 2022 (Div. 1 + Div. 2, Rated, Prizes!)) 题意 给定 \(n\) 个长度为 \(m\) 的 ...
- Curve 文件存储在 Elasticsearch 冷热数据存储中的应用实践
Elasticsearch在生产环境中有广泛的应用,本文介绍一种方法,基于网易数帆开源的Curve文件存储,实现Elasticsearch存储成本.性能.容量和运维方面的显著提升. ES 使用 Cur ...
- 使用pyenv对python进行版本控制—很好用
相对于python自带的virtualenv来说,pyenv的使用要便利些,更不用说自带的插件python-virtualenv,创建虚拟环境就更为方便了,其实最让我心水的功能是创建的虚拟环境,进入设 ...
- 各种排序算法实现(JAVA)
转载: https://blog.csdn.net/qq_42453117/article/details/100036347 Exer010Sort01BubbleSortV1 import ja ...
- linux-各个目录下重要文件、用户、用户组
1.⽹络不通排查流程 1. 确认⽹关地址是否通畅 2. 确认⽹卡配置是否正确 3. 确认⽹络管理服务是否关闭 systemctl stop NetworkManager systemctl disab ...
- Django-request、django连接数据库、ORM
1.静态文件配置 1.静态文件:不经常变化的文件,主要针对html文件(CSS文件.js文件.img文件.第三方框架文件). 2.django针对静态文件资源需要单独开始一个目录统一存放:static ...
- 【学习日志】volatile关键字的作用
消除指令重排序 保证了不同线程对变量进行操作时的可见性,cpu对变量值修改后,其他线程读取变量信息时从内存读取而非cpu缓存
- [DuckDB] 多核算子并行的源码解析
DuckDB 是近年来颇受关注的OLAP数据库,号称是OLAP领域的SQLite,以精巧简单,性能优异而著称.笔者前段时间在调研Doris的Pipeline的算子并行方案,而DuckDB基于论文< ...
- LeetCode_单周赛_331
2558. 从数量最多的堆取走礼物 题意 给一组数字,每秒都选择最大的一个,留下其平方根 用 最大堆就行 code class Solution { public long pickGifts(int ...
- JAVA虚拟机17---栈帧(局部变量表-操作数栈-动态连接-返回地址)
借鉴:转https://blog.csdn.net/u011069294/article/details/107106755,他的虚拟机专栏:https://blog.csdn.net/u011069 ...