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

设计网站大全扣西湖南岚鸿首选用阿里云服务器做盗版小说网站吗

设计网站大全扣西湖南岚鸿首选,用阿里云服务器做盗版小说网站吗,asp做网站技术怎样,十大免费行情软件下载网站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/819093/

相关文章:

  • 怎么在DW网站站点下建立两张网页软件开发需要学什么专业好
  • h5网站建设代理扬州网站建设培训
  • 计算机网站建设待遇wordpress建自己的网站
  • 网站后端做留言板功能wordpress 评论 邮箱
  • 东营住房与城乡建设部网站怎么查看网站的建设时间
  • 合肥响应式网站开发佛山网页建站模板
  • html5网站正在建设中作文网投稿网站
  • 上海专业网站建设报价单公司注册法人查询
  • 互联网站的建设维护营销官方网站开发哪家好
  • 建瓯市建设银行网站wordpress 上传vr
  • 怎么黑掉网站软件开发包括什么内容
  • 抚州网站制作制作企业网站教程
  • 全球电子商务网杭州网站优化平台
  • 网站建设英文专业术语网站开发交易网站
  • 网站被百度蜘蛛爬了多久放出来请人做游戏的网站
  • 玉林网站建设培训在ps中网站界面应做多大
  • 网站建设案例渠道刷百度关键词排名优化
  • 海南省交通建设局网站深圳便宜做网站
  • 网站新闻列表页设计wordpress自动排版的编辑器
  • 做lol数据的网站有哪些wordpress菜单底部导航代码
  • 付费的网站推广该怎么做湘潭做网站优化
  • 400个成品短视频南阳网站优化哪家好
  • 360建设网站免费长春财经学院是公办还是民办
  • 专业微网站建设公司首选公司哪家好塘沽建设网站公司
  • p2p网站策划佛山中小企业外贸网站建设推广
  • 领卷网站怎么做的温州网站制作
  • 长宁区网站建设公司阿里云 wordpress rds
  • 门户网站开发语言php网站开发教程 pdf
  • 企业网站建设费用入什么科目wordpress微信公众号推送
  • 网站首页图片轮转制作微信商城网站开发