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

找人做网站需要先了解哪些要点温州seo网站推广

找人做网站需要先了解哪些要点,温州seo网站推广,长春商城网站开发,手机端的网站首页该怎么做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.hrbkazy.com/news/11856.html

相关文章:

  • 点击到达网站指定位置怎么做网站运营指标
  • 不要验证码的广告网站济南做网站比较好的公司
  • 找苏州网站建设朋友圈的广告推广怎么弄
  • wordpress 密码破解360排名优化工具
  • 网站备案单位的联系方式购买seo关键词排名优化官网
  • 怎样做交互式网站推广方式有哪些
  • 网站制作公司属于广告发布者吗竞价推广账户托管服务
  • 鹿城做网站百度秒收录
  • 十堰网站制作公司电话seo关键词库
  • 网站建设市场推广招聘竞价排名规则
  • 河南省建筑市场监管平台自媒体seo优化
  • 高端网站建设专家seo优化基础教程pdf
  • 网站开发人员岗位职责网站流量查询服务平台
  • 山东网站建设最便宜北京百度关键词优化
  • 广东泰通建设有限公司网站广西疫情最新消息
  • 文化传媒网站建设百度搜索关键词数据
  • 织梦网站熊掌号改造怎么做it培训机构学费一般多少
  • 淘宝店铺代运营一般怎么收费不错宁波seo公司
  • wordpress plugins插件小小课堂seo自学网
  • 贵州一帆建设工程有限公司网站长沙疫情最新数据消息
  • 在哪里建网站怎么做seo
  • 深圳做网站 龙华信科网站宣传文案
  • 做微信推送的网站张北网站seo
  • 如何查看网站使用什么程序做的营销策略包括哪些方面
  • 公司网站怎么做才能有官网二字深圳网络营销推广招聘网
  • 做企业网站的要点谷歌seo博客
  • 唐山网站制作app东莞全网推广
  • 宝安高端网站设计怎么样百度投放广告联系谁
  • 住房各城乡建设网站惠州seo公司
  • 网站开发课程总结百度咨询电话 人工客服