zoukankan      html  css  js  c++  java
  • 使用unittest测试(基础一)

    #导入unittest单元测试框架
    ##用例的方法前缀必须要以 test 开头的
    #这是用来组织用例的
    import unittest
    
    class TestDBQB(unittest.TestCase):
       #环境预置
       def setUp(self):
          print("测试预置")
          
       #测试用例1,测试用例2
       def testCase_1_success(self):
          print("测试用例1")
          #断言---检查实际结果和预期结果是否一致
          self.assertEqual(True,True)#assert断言 Equal相等
        #测试用例2,............
       def testCase_2_name_null(self):
          print("测试用例2")
          #断言---检查实际结果和预期结果是否一致
          try:
            self.assertEqual(True,False)#assert断言 Equal相等
          except:
            print("得到的结果跟你的预期结果不一致哦!!")
          
       #环境恢复
       def tearDown(self):
          print("环境恢复")
    #代码的执行入口
    if  __name__=="__main__":
          unittest.main()

     二:python定位元素

    ①:导包的操作看我之前的写的 Python安装selenium启动浏览器

    #1导包
    from selenium import webdriver
    from time import sleep
    #2:获取浏览器驱动,并打开浏览器  firefox  
    dr =webdriver.Chrome()
    #打开被测系统
    url ="https://www.so.com/"
    dr.get(url)
    
    #2元素定位##
    #1): 跟剧id定位 find_element_by_id("")
    inputBox=dr.find_element_by_id("input")
    inputBox.send_keys("selenium") 
    #自动点击搜索   
    inputBoxclick=dr.find_element_by_id("search-button")
    inputBoxclick.send_keys("selenium") 
    inputBoxclick.click()
    
    #第二种使用name 来定位 find_element_by_name
    inputName=dr.find_element_by_name("q")
    inputName.send_keys("美女")
    
    #第三种方法 使用class  find_element_by_class_name
    inputClass=dr.find_element_by_class_name("placeholder")
    inputClass.send_keys("美女2222222222222222")
    
    #第四种方法 定位超链接  find_element_by_link_text("超文本名称全面")
    aLink=dr.find_element_by_link_text("新闻")
    aLink.click()
    #第五种方法 定位超链接  find_element_by_partial_link_text("超文本部分的名字")
    aLink2=dr.find_element_by_partial_link_text("应用让生产生活更智能")
    #aLink2.click()
    
    #第六  根据标签定位  find_element_by_tag_name()   //elements 后面加s 表示有多个
    #这里的    表示换行
    
    inputTab_Box=dr.find_elements_by_tag_name("input")
    for tab in inputTab_Box:
       if tab.get_attribute("type")=='text' 
       and tab.get_attribute("name")=="q":
              tab.send_keys("11111111")
    
    #第7种 根据绝对路径定位
    
    a="/html/boby/div[2]/div/section[2]/div/form/fieldset/div[2]/input"
    paths=dr.find_element_by_xpath(a)
    paths=send_keys("lll")
    
     
    #根据相对路径定位
    inputBox1=dr.find_element_by_xpath('//input[@type="text"]')
    inputBox1=dr.find_element_by_xpath("//input[@type='text' and @name='q']")
    inputBox1=dr.find_element_by_xpath("//div[@id='suggest-align']/input[@type='text']")
    inputBox1=dr.find_element_by_xpath("//*[@id='suggest-align']/*[@type='text' and @name='q']")
    iinputBox1=dr.find_element_by_xpath("//fieldset[@id='input-container']/*[@id='suggest-align' and @class='skin-search-input hover']/*[@type='text' and @name='q']")  
    iinputBox1.send_keys("ddd")
    
    
    #第8种 根据 css 选择器定位  find_element_by_css_selector()
    #1):这里的定位id  是用#号表示
    iinputBox1=dr.find_element_by_css_selector('#input')
    
    #2):使用class 定位  .
    iinputBox1=dr.find_element_by_css_selector('.placeholder')
    
    #3):使用索引[]
    iinputBox1=dr.find_element_by_css_selector('input[id="input"]')
    iinputBox1=dr.find_element_by_css_selector('[id="input"]')
    
    #4):通过层级的父子关系定位: find_element_by_css_selector("div >input")
    inputBox1=dr.find_element_by_css_selector("#input-container #suggest-align >input[type='text']")
    inputBox1.send_keys("66666666666666") 
    
    #5):通过层级与属性组合定位: 
    '''有一个父元素,它的标签名叫div,它有一个class 属性值叫skin-search-input,
    它有一个子元素,标签名叫input,并且这个子元素的class 属性值叫placeholder。
    我们要找的就是具有这么多特征的一个子元素。''' 
    find_element_by_css_selector("div.skin-search-input >input.placeholder")
    find_element_by_css_selector("fieldset #input-container >input#search-button")
    
    sleep(2)#睡眠
    inputBox1.clear()#  清空
    sleep(2) 
    dr.quit() #关闭窗口

    ②:等待有 :隐式等待,显示等待 

  • 相关阅读:
    开发细节
    html
    java学习
    Promise对象
    强制转换和隐式转换
    借助防抖解决输入框的非空校验
    setTimeout
    Symbol类型
    js API
    vue 使用mixin
  • 原文地址:https://www.cnblogs.com/zhu520/p/11488967.html
Copyright © 2011-2022 走看看