selenium之使用unittest测试框架
# 测试角色权限管理页面功能
from selenium import webdriver
from login_page import LoginPage
import random, time, unittest class TestRole(unittest.TestCase):
def setUp(self):
self.login_obj = LoginPage()
self.driver = webdriver.Chrome()
driver = self.driver
login_obj = self.login_obj
time.sleep(2)
driver = login_obj.login(driver) # 登录
driver.find_element_by_id('').click() # 进入监控管理
time.sleep(1)
# 进入角色管理
driver.find_element_by_xpath('//a[@url="manager/role/role_list.do"]').click()
time.sleep(2) # 定义变量
random_num_to_str = str(random.randint(1000, 9999)) # 随机数,保证不重复
self.role_name = 'role_' + random_num_to_str # 角色名,限制10个字符
self.spec_context = 'spec_' + random_num_to_str # 备注信息
self.modify_spec_context = self.spec_context + '_modify' # 修改后的备注信息 def tearDown(self):
'''关闭浏览器'''
self.login_obj.quit() def test_role(self):
driver = self.driver def create_role():
'''新增角色'''
driver.find_element_by_id('addRow').click()
driver.find_element_by_id('role_name').send_keys(self.role_name)
driver.find_element_by_id('spec').send_keys(self.spec_context)
time.sleep(3)
driver.find_element_by_id('userSave').click()
time.sleep(3) def query_role_by_name():
'''查询角色'''
driver.find_element_by_id('searchKey').send_keys(self.role_name)
driver.find_element_by_id('search').click()
time.sleep(3) def edit_role():
'''编辑角色'''
driver.find_element_by_xpath("//button[@title='编辑']").click() # 查找title='编辑'的button
driver.find_element_by_id('spec').clear()
driver.find_element_by_id('spec').send_keys(self.modify_spec_context)
time.sleep(2)
driver.find_element_by_id('userSave').click()
time.sleep(3) def bind_menu():
'''菜单绑定'''
driver.find_element_by_xpath("//a[@title='菜单绑定']").click()
driver.find_element_by_xpath("//div[@class='checkBoxUp']/div[1]/i").click() # 全选菜单
time.sleep(3)
driver.find_element_by_id('userSave').click()
time.sleep(3) def del_role():
'''删除角色'''
driver.find_element_by_xpath("//a[@title='删除']").click()
time.sleep(1)
driver.find_element_by_class_name("aui_state_highlight").click()
time.sleep(3) create_role()
query_role_by_name()
edit_role()
bind_menu()
del_role() if __name__ == '__main__':
'''自动执行以'test'开头的测试方法'''
unittest.main()
到这里完成了一条完整的测试用例,但如果有多条测试用例需要一起执行,后续说明。
selenium之使用unittest测试框架的更多相关文章
- <day002>Selenium基本操作+unittest测试框架
任务1:Selenium基本操作 from selenium import webdriver # 通用选择 from selenium.webdriver.common.by import By # ...
- Python 下的unittest测试框架
unittest测试框架,直接上图吧: data:数据:主要格式为CSV:读取方式:csv.reade: public:封装的模块:通用的模块单独封装,所需参数设置为变量: testcase:测试用例 ...
- python利用unittest测试框架组织测试用例的5种方法
利用unittest测试框架可以编写测试用例,执行方式分两大类:利用main方法和利用testsuite,其中利用测试套件来组织测试用例可以有4种写法. 在此之前,先了解几个概念 TestCase:所 ...
- Python接口测试实战3(下)- unittest测试框架
如有任何学习问题,可以添加作者微信:lockingfree 课程目录 Python接口测试实战1(上)- 接口测试理论 Python接口测试实战1(下)- 接口测试工具的使用 Python接口测试实战 ...
- 基于Python的接口自动化-unittest测试框架和ddt数据驱动
引言 在编写接口自动化用例时,我们一般针对一个接口建立一个.py文件,一条接口测试用例封装为一个函数(方法),但是在批量执行的过程中,如果其中一条出错,后面的用例就无法执行,还有在运行大量的接口测试用 ...
- Selenium(十七):unittest单元测试框架(三) 脚本分析、编写Web用例
1. 带unittest的脚本分析 也许你现在心里还有疑问,unittest框架与我们前面所编写的Web自动化测试之间有什么必然联系吗?当然有,既然unittest可以组织.运行测试用例,那么为什么不 ...
- unittest测试框架详解
单元测试的定义 1. 什么是单元测试? 单元测试是指,对软件中的最小可测试单元在与程序其他部分相隔离的情况下进行检查和验证的工作,这里的最小可测试单元通常是指函数或者类,一般是开发来做的,按照测试 ...
- unittest测试框架
unittest单元测试框架不仅可以适用于单元测试,还可以适用WEB自动化测试用例的开发与执行,该测试框架可组织执行测试用例,并且提供了丰富的断言方法,判断测试用例是否通过,最终生成测试结果. 一.u ...
- Selenium之unittest测试框架详谈及实操
申明:本文是基于python3.x及selenium3.x. unittest,也可以称为PyUnit,可以用来创建全面的测试套件,可以用于单元自动化测试(模块).功能自动化测试(UI)等等. 官方文 ...
随机推荐
- 常见camera测试卡
常见camera测试卡 版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/luckywang1103/article/details/87166 ...
- java读取写入文件
先来看一下java写入文件 public static void readTxt(String value) throws IOException { FileWriter fw = null; tr ...
- CF1097D Makoto and a Blackboard 积性函数、概率期望、DP
传送门 比赛秒写完ABC结果不会D--最后C还fst了qwq 首先可以想到一个约数个数\(^2\)乘上\(K\)的暴力DP,但是显然会被卡 在\(10^{15}\)范围内因数最多的数是\(978217 ...
- Luogu2178 NOI2015 品酒大会 SA、并查集
传送门 感觉题目讲的很不清楚-- 题目意思就是给出一个长度为\(n\)的字符串,求对于\(r=0,1,...,n-1\),求出\(LCP(suffix_p,suffix_q) \geq r\)的无序数 ...
- odoo 10.0部署shell
环境ubuntu16+nginx+python2.7.12+postgresql9.5+odoo 10.0 community #!/bin/bash #author:guoyihot@outlook ...
- BootStrap学习(4)_分页&标签&缩略图&警告&进度条
一.分页 分页(Pagination),是一种无序列表,Bootstrap 像处理其他界面元素一样处理分页. .pagination --添加该 class 来在页面上显示分页. .disa ...
- DefWindowProc是一个会产生消息的函数
先看一道题目: 当用户点击右上角关闭按钮的时候,请给下列Windows做出的响应排个序:A:发送 WM_QUIT 消息 B:发送 WM_CLOSE 消息 C:发送 WM_DESTROY ...
- Crackme006 - 全新160个CrackMe学习系列(图文|视频|注册机源码)
知乎:逆向驿站 原文链接 CrackMe006 | 难度适中适合练手 |160个CrackMe深度解析(图文+视频+注册机源码) crackme006,依然是delphi的,而且没壳子,条线比较清晰, ...
- mysql主从同步(2)-问题梳理
之前详细介绍了Mysql主从复制的原理和部署过程,在mysql同步过程中会出现很多问题,导致数据同步异常.以下梳理了几种主从同步中可能存在的问题:1)slave运行过慢不能与master同步,也就是M ...
- 12.25daily_scrum
今天是圣诞节,大家在度过了一个愉快的节日同时,同时也收到了最好的圣诞礼物,就是调试工作已经进入尾声,接下来我们组的主要任务就是M2阶段的总结了.为了更好的做好M2阶段的收官工作,我们组决定分配相当的一 ...