IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 开发测试 -> python selenium自动化 unittest框架 -> 正文阅读

[开发测试]python selenium自动化 unittest框架

导入模块

from selenium import  webdriver   #导入自动化测试库(Selenium2的核心是webdriver)
from  time import  *              #导入时间模块(可以设置页面等待时间)
from selenium.webdriver.common.action_chains import ActionChains   #鼠标移动模块
import unittest                  # 导入unittest模块:
#**unittest 框架 只有一个类开始和类结束
#unittest框架 只运行以test开头的用例
#test用例运行的顺序,以asciima为准:0-9 A-Z a-z
#每条用例都要用到方法开始,方法结束
#在我们使用中,有时不写类的开始和结束**
from aa.ui.HTMLTestRunner3_New import HTMLTestRunner#导入测试结果输出模板(from后面内容相当于这个模板的绝对路径)

定义框架的类

class Test(unittest.TestCase):  #定义有一个类,继承testcase(测试用例),一个testcase的实例就是一个用例

类的开始与结束

@classmethod#类方法
def setUpClass(cls) -> None:#类的开始
    print(" 类的开始")
@classmethod#类方法
def tearDownClass(cls) -> None:#类的结束
    print("类的结束")

方法的开始与结束

    def setUp(self) -> None:#方法的开始,测试用例前的操作:写内容:比如driver对象,打开浏览器,
    self.d = webdriver.Chrome()  # 建立对象设置使用的阅览器,Chrome表示谷歌
    self.d.get("https://www.chinalife.com.cn/chinalife/index/")  # 打开网址
    self.d.maximize_window()#最大显示,self.d.minimize_window()为最小显示
    self.d.find_element_by_xpath("//*[@id='gbs1']").click()#元素定位,click()为点击,send_keys()为输入内容
    sleep(3)#time等待模块
     def tearDown(self) -> None:  #方法结束,测试用例后执行:负责释放资源,:比如关闭浏览器
    self.d.close()#关闭进程

编写测试用例

def test001(self):# 测试用例1执行test开头的测试用例,以及根据排序来执行
    print("增加执行语句")
def test002(self):# 测试用例1执行test开头的测试用例,以及根据排序来执行
    print("增加执行语句2")

执行整个类

if __name__ == '__main__':#调用整个类的所有数据
        #方法一:调用所有
    unittest.main()  # 第一种方法调用所有
    suit=unittest.TestSuite()#创建一个容器的对象
    run=unittest.TextTestRunner() #创建一个执行对象
    run.run(suit)
    #方法二:调用单个用例
    suit = unittest.TestSuite()  # 创建一个容器的对象
    suit.addTest(Test('test001'))#容器内添加test001的对象
    run = unittest.TextTestRunner()  # 创建一个执行对象
    run.run(suit)
    #方法三:调用多个用例
    suit = unittest.TestSuite()  # 创建一个容器的对象
    suit.addTests([Test('test001'),Test('test002')])#容器内添加test001与test002的对象
    run = unittest.TextTestRunner()  # 创建一个执行对象
    run.run(suit)
    # 方法三:通过索引添加用例
   #     path=r"C:\Users\Administrator\PycharmProjects\hz8\hza\python_ui"#对象的位置相对路径
   #     lj=unittest.TestLoader().discover(start_dir=path,pattern="ui_003*")在相对路径内搜索对应的py文件名
   # runner=unittest.TextTestRunner()#创建一个容器的对象
   # runner.run(lj)

执行类并且输出测试结果

if __name__ == '__main__':#调用整个类的所有数据
    path = r"C:\project\qq\aa\ui"#执行文件的相对路径
    d = unittest.TestLoader().discover(start_dir=path, pattern='rscp*.py')#通过相对路径搜索执行用例的项目
    bglj = r"C:\project\qq\aa\ui"#结果模板的相对路径
    now = strftime('%y-%m-%d %H-%M-%S')#time模块的输出结果
    filename = bglj + '/' + str(now) + '_ui.html'#测试结果的文件名
    f = open(filename, "wb")#测试结果输出格式
    runner = HTMLTestRunner(stream=f, title="ui自动化测试报告", description="用例执行情况", tester="曲晓庚")#测试结果的其他信息
    runner.run(d)
  开发测试 最新文章
pytest系列——allure之生成测试报告(Wind
某大厂软件测试岗一面笔试题+二面问答题面试
iperf 学习笔记
关于Python中使用selenium八大定位方法
【软件测试】为什么提升不了?8年测试总结再
软件测试复习
PHP笔记-Smarty模板引擎的使用
C++Test使用入门
【Java】单元测试
Net core 3.x 获取客户端地址
上一篇文章      下一篇文章      查看所有文章
加:2021-07-17 12:14:55  更:2021-07-17 12:15:12 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年5日历 -2024/5/7 2:47:15-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码