当前位置: 首页 > news >正文

wap网站快速开发注册公司深圳

wap网站快速开发,注册公司深圳,wordpress无法设置中文,aspnet网站建设DDT (Data-Drivers- Tests) 允许使用不同的测试数据运行同一个测试用例,展示为不同的测试用例。 第一步: pip安装 ddt 第二步: 创建test_baidu_ddt.py 1. 测试类要使用ddt 修饰 2. 不同形式的参数化: 列表,字典&a…

DDT (Data-Drivers- Tests)  允许使用不同的测试数据运行同一个测试用例,展示为不同的测试用例。

第一步: pip安装 ddt

 第二步: 创建test_baidu_ddt.py 

1. 测试类要使用@ddt 修饰

2. 不同形式的参数化: 列表,字典(key 要与测试方法保持一致),元祖

import unittest
from selenium import webdriver
from time import sleep
from ddt import ddt, data, file_data, unpack@ddt
class TestBaidu(unittest.TestCase):@classmethoddef setUpClass(cls):cls.driver = webdriver.Chrome()cls.base_url = "https://www.baidu.com"# =====同一个测试用例============def baidu_search(self, search_key):self.driver.get(self.base_url)self.driver.find_element_by_id("kw").send_keys(search_key)self.driver.find_element_by_id("su").click()sleep(3)# 参数化使用方式一 ------------------ 列表@data(["case1", "selenium"], ["case2", "ddt"], ["case3", "python"])@unpackdef test_search1(self, case, search_key):print("第一组测试用例:", case)self.baidu_search(search_key)print("self.driver.title:", self.driver.title)self.assertEqual(self.driver.title, search_key + "_百度搜索")# 参数化使用方式二-------------------- 元组@data(("case1", "selenium"), ("case2", "ddt"), ("case3", "python"))@unpackdef test_search2(self, case, search_key):print("第二组测试用例:", case)self.baidu_search(search_key)self.assertEqual(self.driver.title, search_key + "_百度搜索")print("self.driver.title:", self.driver.title)# 参数化使用方式三---------------------  字典@data({"search_key": "selenium"},{"search_key": "ddt"},{"search_key": "python"})@unpackdef test_search3(self, search_key):print("第三组测试用例:", search_key)self.baidu_search(search_key)self.assertEqual(self.driver.title, search_key + "_百度搜索")print("self.driver.title:", self.driver.title)# 参数化读取JSON文件@file_data('ddt_data_file.json')def test_search4(self, search_key):print("第四组测试用例:", search_key)self.baidu_search(search_key)self.assertEqual(self.driver.title, search_key + "_百度搜索")print("self.driver.title:", self.driver.title)# 参数化读取yaml文件@file_data('ddt_data_file.yaml')def test_search5(self, case):search_key = case[0]["search_key"]print("第五组测试用例:", search_key)self.baidu_search(search_key)self.assertEqual(self.driver.title, search_key + "_百度搜索")print("self.driver.title:", self.driver.title)@classmethoddef tearDownClass(cls):cls.driver.quit()if __name__ == '__main__':unittest.main(verbosity=2)  #日志等级2

3.支持数据文件读取

3.1json 文件读取

 数据文件:test_case/ddt_data_file.json   @file_data('ddt_data_file.json')  读取  文件要与test_baidu_ddt.py  相同否则需要加上路径 

{"case1": {"search_key": "python"},"case2": {"search_key": "ddt"},"case3": {"search_key": "Selenium"}
}

 3.2 yaml 文件读取:ddt_data_file.yaml 

case1:- search_key: "python"
case2:- search_key: "ddt"
case3:- search_key: "unittest"

每个数据会被解析为[{'search_key':'python'}]  获取值case[0]["search_key"]

# 参数化读取yaml文件@file_data('ddt_data_file.yaml')def test_search5(self, case):search_key = case[0]["search_key"]print("第五组测试用例:", search_key)self.baidu_search(search_key)self.assertEqual(self.driver.title, search_key + "_百度搜索")print("self.driver.title:", self.driver.title)

第三步:创建 unittestdemo1\baidu_ddt_run_tests.py

HTMLTestRunner

import time
import unittest
from HTMLTestRunner import HTMLTestRunner# # 把测试报告作为附件发送到指定邮箱。
# def send_mail(report):
#     yag = yagmail.SMTP(user="1164512033@qq.com",
#                        password="zjx3601296",
#                        host='mail.qq.com')
#     subject = "标题,自动化测试报告"
#     contents = "正文,请查看附件。"
#     yag.send('1164512033@qq.com', subject, contents, report)
#     print('email has send out !')if __name__ == '__main__':# 定义测试用例的目录为当前目录print("----__main__-------")test_dir = './test_case'  # 测试用例的路径suit = unittest.defaultTestLoader.discover(test_dir, pattern='test_baidu_dtt.py')print("suit===========",suit)# 取当前日期时间now_time = time.strftime("%Y-%m-%d %H_%M_%S")html_report = './test_report/' + now_time + 'result.html'fp = open(html_report, 'wb')# 调用HTMLTestRunner,运行测试用例runner = HTMLTestRunner(stream=fp,title="baidu_ddt测试报告",description="运行环境:Windows 10, Chrome浏览器")runner.run(suit)print("run -------------------------------------suit")fp.close()#send_mail(html_report)  # 发送报告

运行结果: baidu_ddt_run_tests.py 不能以test 开头

 注意: 

 测试报告

 工程目录结构: 

http://www.yayakq.cn/news/581621/

相关文章:

  • 建网站用什么系统办公室设计公司
  • 做电子的外单网站有哪些的个人网站盈利
  • 网站建设的后期维护费用网站开发未按合同约定工期完工
  • 网站建设富库WordPress自定义js
  • 南宁建站服务公司wordpress 找不到文件路径
  • 网站导航字体大小WordPress适合做多大级别的网站
  • pc网站和移动网站网站清除黑链
  • ios移动网站开发详解自己做音乐网站挣钱吗
  • 如何查看网站开发商网站 板块 栏目
  • 网页制作相关网站镇江网站优化公司
  • js效果网站无需备案的域名
  • 天津做网站的网络公司wordpress 讲解
  • 深圳平湖做网站目前最好的推广平台
  • 找个网站怎么这么难免费响应式企业网站源码
  • 重庆做网站 熊掌号湖南人文科技学院校长
  • 婚恋网站怎么做广告公司主要是做什么的
  • 建设论坛网站用什么cms深圳app设计网站建设
  • 网站制作方案大全题库网站怎样做
  • 网络设计网站建设类网站模板重庆有多少网站
  • 做网站六安齐河县建设局网站
  • 用自己点电脑做电影网站深圳住房建设局网站首页
  • 达州住房和城乡建设部网站企业网站建设费怎么入账
  • 网站开发及维护信息技术八年级上册网站建设
  • 公司想推广做网站有用文化馆网站建设方案
  • 网站qq访客统计电影订票网站怎么做
  • 哪个网站可以卖自己的设计网站开发一般用什么开发语言
  • 营销型网站公司个人网站建设工作室
  • 手表网站建设策划书关键词收录查询工具
  • 怎么查询网站开发时间池州做网站的公司
  • 什么网站免费做游戏qq邮箱登录