多测师讲解python _unttest框架002(结合项目实战)_高级讲师肖sir
第一种调用方法:
if __name__ == '__main__':
# #第一种运行方法:运行所有的用例


import unittest
from selenium import webdriver
from time import sleep
#from ui_auto.HTMLTestRunnerCN import HTMLTestRunner #导入HTMLTestRunner类==》用来生成测试报告的
import time
class Test_Baidu(unittest.TestCase):
def setUp(self): #方法开始
self.driver = webdriver.Chrome()
self.driver.get('http://www.baidu.com')
self.driver.implicitly_wait(20)
def test001(self): #一条用例
self.driver.find_element_by_id('kw').send_keys('duoceshi')
self.driver.find_element_by_id('su').click()
def test002(self): #一条用例
self.driver.find_element_by_id('kw').send_keys('selenium')
self.driver.find_element_by_id('su').click()
title = self.driver.title
self.assertEqual(title,u'百度一下,你就知道')
self.assertIn(title,u'百度一下,你就知道')
self.assertNotEqual(title,u'百度一下,你就知道123')
def tearDown(self): # 方法结束 注意和位置没有关系的
sleep(3)
self.driver.close()
if __name__ == '__main__':
# #第一种运行方法:运行所有的用例
unittest.main()
第二种运行方法:可以选择运行用例

# # runner = unittest.TextTestRunner()
# #可以先定义一个普通函数
# # def all_case():
# # suite = unittest.TestSuite() #创建一个套件、或者说一个容器、作用就是用来装所有的用例suite是一个对象
# # # suite.addTest(Test_Baidu('test001')) #把用例添加到套件里面
# # # suite.addTest(Test_Baidu('test002'))
# # suite.addTests([Test_Baidu('test001'),Test_Baidu('test002')])
# # return suite #把装满了用例的suite套件返回给到函数的调用处


import unittest
from selenium import webdriver
from time import sleep
#from ui_auto.HTMLTestRunnerCN import HTMLTestRunner #导入HTMLTestRunner类==》用来生成测试报告的
import time
class Test_Baidu(unittest.TestCase):
def setUp(self): #方法开始
self.driver = webdriver.Chrome()
self.driver.get('http://www.baidu.com')
self.driver.implicitly_wait(20)
def test001(self): #一条用例
self.driver.find_element_by_id('kw').send_keys('duoceshi')
self.driver.find_element_by_id('su').click()
def test002(self): #一条用例
self.driver.find_element_by_id('kw').send_keys('selenium')
self.driver.find_element_by_id('su').click()
title = self.driver.title
self.assertEqual(title,u'百度一下,你就知道')
self.assertIn(title,u'百度一下,你就知道')
self.assertNotEqual(title,u'百度一下,你就知道123')
def tearDown(self): # 方法结束 注意和位置没有关系的
sleep(3)
self.driver.close()
#
# #定义一个普通函数
# # def all_case(): #一个套件中的测试用例
# # suite = unittest.TestSuite() #创建一个套件、或者说一个容器、作用就是用来装所有的用例suite是一个对象
# # # suite.addTest(Test_Baidu('test001')) #把用例添加到套件里面
# # # suite.addTest(Test_Baidu('test002'))
# # suite.addTests([Test_Baidu('test001'),Test_Baidu('test002')])
# # return suite #把装满了用例的suite套件返回给到函数的调用处
第三种调用方法:自动搜索用例


第四种方法:

start_dir = r'D:\project\dcs2\ui_auto'
discover = unittest.defaultTestLoader.discover(start_dir=start_dir, pattern='less*.py') #中间* 是通配符
#1.定义生成的测试报告的名称
path = r'C:\Users\Administrator\PycharmProjects\untitled\python+selenium'
now = time.strftime('%Y-%m-%d-%H-%M-%S')
filename = path + "\\" +str(now) + '_ui.html'
f = open(filename,'wb') #以二进制的方式在...ui.html文件中写入报告模板和测试结果
runner = HTMLTestRunner(stream=f,
title=u'百度ui自动化测试报告',
description=u'用例执行情况如下:',
tester=u'王sir')
runner.run(discover)
f.close() #释放资源、关闭文件


表示全部运行成功,但是没有报告


生成报告的流程:



多测师讲解python _unttest框架002(结合项目实战)_高级讲师肖sir的更多相关文章
- 多测师讲解自动化测试 _RF关键字001_(上)_高级讲师肖sir
讲解案例1: Open Browser http://www.baidu.com gc #打开浏览器 Maximize Browser Window #窗口最大化 sleep 2 #线程等待2秒 In ...
- 多测师讲解自动化--rf关键字--断言(下)_高级讲师肖sir
断言: 1.1Page Should Contain Maximize Browser Window sleep 2 Comment Page Should Contain hao123 #断言当前页 ...
- 多测师讲解常用的测试工具分为10类_高级讲师肖sir
我们将常用的测试工具分为10类. 1. 测试管理工具 2. 接口测试工具 3. 性能测试工具 4. C/S自动化工具 5.白盒测试工具 6.代码扫描工具 7.持续集成工具 8.网络测试工具 9.app ...
- 多测师讲解自动化测试 _RF关键字001_( 中)_高级讲师肖sir
1.关键字如下 1.1Get Text 1.2Get Value 2.#上下滑动(滚动条) Open Browser http://www.jd.com gc Maximize Browser Win ...
- 多测师讲解接口测试 —jmeter接数据库(004)_高级讲师肖sir
1.连接数据库jar包 2. 3. jdbc:mysql://192.168.153.131:3306/baoan?zeroDateTimeBehavior=convertToNull&all ...
- 多测师讲解接口测试 _HTTP常见的状态码归纳_高级讲师肖sir
100 Continue 初始的请求已经接受,客户应当继续发送请求的其余部分 101 Switching Protocols 服务器将遵从客户的请求转换到另外一种协议 200 OK 一切正常,对 ...
- 多测师讲解自动化测试 _RF数据库操作(上)_高级讲师肖sir
一.安装库 1.查看数据库是否按安装 1.1 DatabaseLibrary pip3 install mysqlclient-2.0.1-cp37-cp37m-win_amd64.whl dos ...
- 多测师讲解python_斐波那契数列:_高级讲师肖sir
def f(n): a,b=1,1 if n==1 or n ==2: return 1 else: i=3 while i<=n: a,b=b,a+b i+=1 return bprint(f ...
- 多测师讲解python _unttest框架001(基本格式)_高级讲师肖sir
1.unittest基本介绍 import unittest #导入unittest模块 #class Test(unittest.TestCase): def setUp(self): #创建dri ...
随机推荐
- 阿里云前端路线 | CSS快速掌握
1.1什么是CSS 翻译为“层叠样式表”或者“级联样式表”, 简称样式表. 1.2CSS的主要作用 它主要是用来给HTML网页来设置外观或者样式 外观或者样式:HTML网页中的文字的大小.颜色.字体, ...
- odoo10中的邮件提醒
odoo10中邮件提醒配置如下: 1.配置出向邮件服务器 打开开发者模式,设置-->技术-->email-->出向邮件服务器 设置如下: 如果配置成功,点击’测试连接‘,会出现如下弹 ...
- Superset 0.37 发布——颜值最高的数据可视化平台
Superset 0.37,增加可视化插件,行级权限控制 使用Superset已经有一段时间,其良好的体验与丰富的图表功能节省了大量的时间.但是对于权限,自定义图表,图表下载,报警邮件一直没有很好的支 ...
- 1. spring5源码 -- Spring整体脉络 IOC加载过程 Bean的生命周期
可以学习到什么? 0. spring整体脉络 1. 描述BeanFactory 2. BeanFactory和ApplicationContext的区别 3. 简述SpringIoC的加载过程 4. ...
- CAS导致的ABA问题以及解决方案
CAS算法实现一个重要前提需要取出内存中某时刻的数据,而在下时刻比较并替换,那么在这个时间差类会导致数据的变化. 上篇文章讲到CAS会出现一个ABA问题.那什么是ABA问题呢? 官方一点的解释就是:当 ...
- 最全总结 | 聊聊 Python 数据处理全家桶(Sqlite篇)
1. 前言 上篇文章 聊到 Python 处理 Mysql 数据库最常见的两种方式,本篇文章继续说另外一种比较常用的数据库:Sqlite Sqlite 是一种 嵌入式数据库,数据库就是一个文件,体积很 ...
- FTP服务端 FTP服务端搭建教程
FTP服务端搭建教程如下:一.需要准备以下工具:1.微型FTP服务端.2.服务器管理工具二.操作步骤:1.下载微型FTP服务端.(站长工具包可下载:http://zzgjb.iis7.com/ )2. ...
- 容器云平台No.4~kubernetes 服务暴露之Ingress
这是容器云平台第四篇,接上一篇继续, 首先kubernetes服务暴露有如下几种方式: NodePort Loadbalance ClusterIP Ingress 本文紧贴第一篇架构图,只介绍Ing ...
- 一篇带你快速入门ansible和使用
#基本概述 ansible是一款开源自动化工具,基于python paramiko模块开发,分布式,无需客户端 官网网址:https://www.ansible.com 官方文档:https://do ...
- 普转提Day1
T1 给定一个长度为N的序列,去掉其中连续的一部分使得剩下的部分没有重复元素. 很显然可以发现去掉的一部分只有三种情况:开头.中间.最后. 那么我们只需要枚举Hash就可以了.复杂度O(N^2). 不 ...