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

做黄色网站多少年外贸网络推广公司

做黄色网站多少年,外贸网络推广公司,网站制作规划设计内容,html5素材网文章目录 一、DDT 数据驱动介绍二、实战 一、DDT 数据驱动介绍 数据驱动: 现在主流的设计模式之一(以数据驱动测试) 结合 unittest 框架如何实现数据驱动? ddt 模块实现 数据驱动的意义: 通过不同的数据对同一脚本实现…

文章目录

      • 一、DDT 数据驱动介绍
      • 二、实战

一、DDT 数据驱动介绍

数据驱动: 现在主流的设计模式之一(以数据驱动测试)
结合 unittest 框架如何实现数据驱动? ddt 模块实现
数据驱动的意义: 通过不同的数据对同一脚本实现循环测试,最终实现数据与脚本的分离
ddt 模块模块的安装: pip install ddt
ddt 模块: 一个类装饰器 + 三个装饰器方法

  • ddt 类装饰器:装饰继承 unittest.TestCase 的类
  • data 装饰器方法 data()装饰器方法:把列表、元组、字典作为参数
  • unpack 装饰器方法:实现把复杂的数据实现分解成多个数据
  • file_data装饰器方法:可以直接接收数据文件(json 数据/基于 yaml 数据文件),实现循环测试

二、实战

用了三种方式去实现数据驱动:

方法名数据参数类型从哪读取数据备注
test_login_fail1元组直接提供
test_login_fail2列表yaml 文件yaml 数据读取参考 web 自动化之 yaml 数据/日志/截图
test_login_fail3字典yaml 文件
import os.path
import unittest
from TestPOM.pageobjects.login_page import LoginPage
from TestPOM.testdata import login_datas as ld
from selenium import webdriver
from ddt import ddt, data, unpack, file_data
from TestPOM.common.getdatas import Data
from TestPOM.common import dir_config as Dir
@ddt
class TestLogin(unittest.TestCase):@unittest.skip("skip")def test_login_success(self):# 实例化对象self.driver = webdriver.Edge()loginPage = LoginPage(self.driver)loginPage.login(username=ld.success[0], password=ld.success[1])loginPage.sleep(2)# 传入数据参数(列表/元组/字典)。实现数据驱动# data 表示测试数据是直接提供的。@unittest.skip("skip")@data(("hc_test","hctest123456","密码错误"),("hc_test1","hctest123","登录帐号不存在"))def test_login_fail1(self,login_data):# 实例化对象self.driver = webdriver.Edge()loginPage = LoginPage(driver=self.driver)loginPage.login(login_data[0], login_data[1])loginPage.sleep(2)# 断言:登录结果login_msg = loginPage.login_msg()print(login_msg)self.assertEqual(login_data[2], login_msg)@unittest.skip("skip")@data(*Data("fail").data[0])def test_login_fail2(self,login_data):# 实例化对象self.driver = webdriver.Edge()loginPage = LoginPage(driver=self.driver)loginPage.login(login_data[0], login_data[1])loginPage.sleep(2)# 断言:登录结果login_msg = loginPage.login_msg()print(login_msg)self.assertEqual(login_data[2], login_msg)file_name = os.path.join(Dir.testdata_dir,"login_fail.yaml")@file_data(file_name)# unpack 表示,对于每一组数据(dic、list 或者 tuple),那么就分拆成独立的参数。# 注意:如果传入的数据是字典,方法参数名必须和字典的key一样@unpack@unittest.skipdef test_login_fail3(self,username,password,error_message):# 实例化对象self.driver = webdriver.Edge()loginPage = LoginPage(driver=self.driver)loginPage.login(username, password)loginPage.sleep(2)# 断言:登录结果login_msg = loginPage.login_msg()print(login_msg)self.assertEqual(error_message, login_msg)@data(("hc_test","hctest123","登录成功"),("hc_test","hctest123456","密码错误"),("hc_test1","hctest123","登录帐号不存在"))def test_login(self,login_data):# 实例化对象self.driver = webdriver.Edge()loginPage = LoginPage(driver=self.driver)loginPage.login(login_data[0], login_data[1])# 断言:登录结果login_msg = loginPage.login_msg()print(login_msg)self.assertEqual(login_data[2], login_msg)

test_datas.yaml 文件内容(test_login_fail2 方法用到):

login:url : "/user/logininfo.html"success:- hc_test- hctest123fail:-- hc_test- hctest123456- 密码错误-- hc_test1- hctest123- 登录帐号不存在

login_fail.yaml 文件内容(test_login_fail3 方法用到):

-username: hc_testpassword: hctest123456error_message: 密码错误
-username: hc_test1password: hctest123error_message: 登录帐号不存在
http://www.dtcms.com/wzjs/150972.html

相关文章:

  • 网站开发工具6最新新闻热点事件及评论
  • 中国建设银行网站怎么交学费百度客服在哪里找
  • 常州企业网站建设百度入口官网
  • 电脑做系统教学网站品牌营销的概念
  • 关于网站建设与维护的心得体会模拟搜索点击软件
  • 昆山市建设监察大队网站阿里巴巴seo排名优化
  • 让你的静态网站 做后台惠州seo排名外包
  • 做信息图网站免费网站推广
  • iis网站的建设为什么seo工资不高
  • 济南传承网站建设公司最新军事新闻事件今天
  • 怎样做购物网站快速排名怎么做
  • 做emu对网站有什么要求百度推广怎么做
  • 合肥网站建设网站推广直链平台
  • 建设有偿服务信息网站营销型网站外包
  • 上海网站建设电企业网站设计论文
  • 红色大气企业网站b站软件推广大全
  • 网站代备案多少钱站内推广和站外推广的区别
  • 深圳莲花大厦住房和建设局网站以营销推广为主题的方案
  • 看课学校网站建设网站推广seo是什么
  • 化妆品公司网站源码营销策略是什么
  • 网站建设排名优化什么是淘宝seo
  • 建设银行mylove网站app推广渠道在哪接的单子
  • 动态网站建设步骤定制网站+域名+企业邮箱
  • 莆田网站建站推广app
  • 寺庙招人做网站维护吗百度移动端排名软件
  • 潍坊建设网站多少钱制作网站模板
  • 深圳做网站开发友情链接查询
  • 新会新闻官网长沙排名优化公司
  • 门户网站模板下载优化设计全部答案
  • 成品网站短视频源码搭建免费男生最喜欢的浏览器