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

dedecms 一键更新网站手机网站制作公司选哪家

dedecms 一键更新网站,手机网站制作公司选哪家,一元云购网站开发,wordpress主题验证Unittest框架 Unittest框架:框架测试模块测试管理模块测试统计模块,python的内置模块 import unittest Unittest框架四大组件: 1、TestCase 测试用例 2.TestFixture 测试用例夹具 测试用例需要执行的前置和后置 3.TestSuite 测试套件 把需要执行的测试用例汇总在一…

Unittest框架

Unittest框架:框架=测试模块+测试管理模块+测试统计模块,python的内置模块
import unittest
Unittest框架四大组件:
1、TestCase 测试用例
2.TestFixture 测试用例夹具 测试用例需要执行的前置和后置
3.TestSuite 测试套件 把需要执行的测试用例汇总在一起
4、TestRunner 测试运行 执行测试用例

Test Case 测试用例


规则:

1、用例类必须继承Unittest.TestCase,并且以test开头
2、测试方法,都必须以test_开头
3、用例执行的顺序按照ASCII
0.9 a-z A-Z 顺序来执行用例
unittest也可以通过会令运行
命令执行TestShopnc类下的所有用例:python -m unittest 用例文件名.用例类名

执行某一条用例:python -m unittest 用例文件名.用例类.用例名称

import time
import  unittest
from selenium import  webdriver
from selenium.webdriver.support.wait import  WebDriverWait
from selenium.webdriver.common.by import  By
from selenium.webdriver.support import  expected_conditions as EC
class TestShopnc(unittest.TestCase):#每个用例前执行 有多少用例就执行多少次def setUp(self) -> None:print("01 每个用例前执行 有多少用例就执行多少次")#每个类之前执行 只执行一次@classmethoddef setUpClass(cls) :print("02 每个类之前执行 只执行一次")#每个用例执行之后执行 有多少用例就执行多少次def tearDown(self) -> None:print("03 每个用例执行之后执行 有多少用例就执行多少次")@classmethod#每个类之后执行 只执行一次def tearDownClass(cls) -> None:print("04 每个类之后执行 只执行一次")def test_01_login(self):print("用例1")def test_02_shopping(self):print("用例2")def test_03_add_cart(self):print("用例3")def test_04_payment(self):print("用例4")if __name__ == '__main__':i=10print(i)suite=unittest.TestSuite()#添加一个测试用例suite.addTest(TestShopnc(methodName='test_01_login'))#添加多个suite.addTests([TestShopnc("test_02_shopping"),TestShopnc("test_04_payment")])unittest.main(defaultTest="suite")#用例加载器suite2 = unittest.TestSuite()case2=unittest.TestLoader().loadTestsFromTestCase(TestShopnc)suite2.addTests(case2)unittest.TextTestRunner().run(suite2)suite3 = unittest.TestSuite()#查找test开始的py文件case3= unittest.defaultTestLoader.discover("test*.py")suite3.addTests(case3)unittest.main(defaultTest="suite3")

问题:如果使用了TestSuite 运行py 文件时还是执行了所有测试用例
解决方案:

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
注意:不用在文件中点击,运行,这种方式执行还是会执行所有测试用例 原因:没有执行if name == ‘main’: 中的代码

用例状态:
. 成功
E 用例异常
F 用例执行失败

登录京东&搜索商品&加入购物车
登录 需要滑块验证 采取手动方式

import time
import  unittest
from selenium import  webdriver
from selenium.webdriver.support.wait import  WebDriverWait
from selenium.webdriver.common.by import  By
from selenium.webdriver.support import  expected_conditions as EC
from DrissionPage import  WebPage
from  DrissionPage.common import By as DBylogin_name = "账户"
pwd = "密码"
js_txt='''var list=$('.p-o-btn.addcart').filter(function(index, element) {return $(this).attr('class').indexOf('disabled')==-1});if(list.length>0){list[0].click();}'''
class TestShopnc(unittest.TestCase):#每个用例前执行 有多少用例就执行多少次def setUp(self) -> None:print("01 每个用例前执行 有多少用例就执行多少次")#每个类之前执行 只执行一次@classmethoddef setUpClass(cls) :cls.web_driver=webdriver.Firefox()cls.web_page=WebPage("d")print("02 每个类之前执行 只执行一次")#每个用例执行之后执行 有多少用例就执行多少次def tearDown(self) -> None:print("03 每个用例执行之后执行 有多少用例就执行多少次")@classmethod#每个类之后执行 只执行一次def tearDownClass(cls):cls.web_driver.quit()cls.web_page.quit()print("04 每个类之后执行 只执行一次")# selenuim demo 开始def test_01_login(self):url="https://passport.jd.com/new/login.aspx"self.web_driver.get("https://passport.jd.com/new/login.aspx")el=(By.ID,"loginname")WebDriverWait(self.web_driver,10).until(EC.presence_of_element_located(el))self.web_driver.find_element(*el).send_keys(login_name)el = (By.ID, "nloginpwd")WebDriverWait(self.web_driver, 10).until(EC.presence_of_element_located(el))self.web_driver.find_element(*el).send_keys(pwd)el = (By.ID, "loginsubmit")WebDriverWait(self.web_driver, 10).until(EC.presence_of_element_located(el))self.web_driver.find_element(*el).click()# 需要滑块验证,采取手动time.sleep(15)print(self.web_driver.current_url)if 'https://aq.jd.com/certified/index' in self.web_driver.current_url:time.sleep(3)#验证按钮self.web_driver.execute_script('$(".btn-def.btn-xl.mb20").click()')time.sleep(3)#发送短信按钮self.web_driver.execute_script('$(".btn-def.btn-msg.btn-l").click()')time.sleep(10)#提交验证self.web_driver.execute_script('$(".btn-primary.btn-m").click()')time.sleep(30)def test_02_shopping(self):#keyif 'https://www.jd.com'  not in self.web_driver.current_url:self.web_driver.get("https://www.jd.com")el=(By.ID,"key")WebDriverWait(self.web_driver, 10).until(EC.presence_of_element_located(el))self.web_driver.find_element(*el).send_keys("三只松鼠大礼包")time.sleep(5)#//*[@id="search"]/div/div[2]/buttonel = (By.XPATH, '//*[@id="search"]/div/div[2]/button')WebDriverWait(self.web_driver, 10).until(EC.presence_of_element_located(el))self.web_driver.find_element(*el).click()time.sleep(5)def test_03_add_cart(self):time.sleep(5)self.web_driver.execute_script(js_txt)# el=(By.XPATH,'/html/body/div[5]/div[2]/div[2]/div[1]/div/div[2]/ul/li[5]/div/div[7]/a[3]')# WebDriverWait(self.web_driver, 10).until(EC.presence_of_element_located(el))# self.web_driver.find_element(*el).click()time.sleep(20)#selenuim demo 结束#drissionpage demo 开始def test_04_login(self):self.web_page.get("https://passport.jd.com/new/login.aspx")el=(DBy.ID,"loginname")self.web_page.wait.eles_loaded(el)self.web_page.ele(el).clear()print("!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!1")self.web_page.ele(el).input(login_name)print("2222222222222222222222222222222222")el = (DBy.ID, "nloginpwd")self.web_page.wait.eles_loaded(el)self.web_page.ele(el).input(pwd)el = (DBy.ID, "loginsubmit")self.web_page.wait.eles_loaded(el)self.web_page.ele(el).click()# 需要滑块验证,采取手动time.sleep(15)print(self.web_page.url)if 'https://aq.jd.com/certified/index' in self.web_page.url:time.sleep(3)#验证按钮self.web_page.run_js('$(".btn-def.btn-xl.mb20").click()')time.sleep(3)#发送短信按钮self.web_page.run_js('$(".btn-def.btn-msg.btn-l").click()')time.sleep(10)#提交验证self.web_page.run_js('$(".btn-primary.btn-m").click()')time.sleep(30)def test_05_shopping(self):#keyif 'https://www.jd.com'  not in self.web_page.url:self.web_page.get("https://www.jd.com")el=(DBy.ID,"key")self.web_page.wait.eles_loaded(el)self.web_page.ele(el).input("麻辣王子")time.sleep(5)el = (DBy.XPATH, '//*[@id="search"]/div/div[2]/button')self.web_page.wait.eles_loaded(el)self.web_page.ele(el).click()time.sleep(5)def test_06_add_cart(self):time.sleep(5)self.web_page.run_js(js_txt)time.sleep(10)#drissionpage demo 结束
http://www.yayakq.cn/news/563209/

相关文章:

  • 有后台的网站如何建设网络营销的企业网站
  • 搜索引擎推广培训网站优化的基本思想与原则
  • wordpress可以做电影站win2008r2 iis配置网站
  • 开拓网站建设公司百度云wordpress怎么搭建网站
  • 腾讯云服务器可以做网站百度代理查询系统
  • 上海网站建设公司服务怎么做高端手机网站 制作公司
  • 网站建设_免费视频想做个网络推广
  • 建网站的基本流程wordpress虎嗅网主题
  • 网站设计方案怎么做景观设计师做交通分析常用网站
  • 国外做设计的网站wordpress sydney
  • 网站后台维护主要做什么公司企业策划书模板
  • 连云港建设局电力网站佛山优化网站关键词
  • 外贸公司查询网站编辑做seo好做吗
  • 企业网站的概念商城网站建设服务哪家好
  • 云南网站建设选天软wordpress客户端linux
  • 做物流运输网站电话客源引流推广app
  • 小网站开发成本做网站需要的知识
  • 扬州做公司网站吴江建网站优荐苏州聚尚网络
  • 企网站建设网站域名授权
  • 做网站需要买空间么 服务器学习网站建设与管理
  • 网站页脚信息我找客户做网站怎么说
  • 网站的建设方法包括哪些内容深圳app设计网站建设
  • 深圳手机网站哪里可以做网站系统
  • 德阳响应式网站建设外贸营销网站建设公司
  • 访问网站速度很慢做基本的网站
  • 潍坊云建站模板武邑网站建设价格
  • 30人的网站建设公司年利润是多少做一家网站费用吗
  • 免费下载代码的网站中创高科官方网站
  • 二级网站建设方案模板北京网页制作公司
  • 个人档案网站该怎么做孝感做网站