亚洲免费在线-亚洲免费在线播放-亚洲免费在线观看-亚洲免费在线观看视频-亚洲免费在线看-亚洲免费在线视频

python3--selenium--unittest。長時間未使用,編寫UI

系統 1615 0

前言:自動化測試存在比較多的使用限制,會存在某段時間無法使用的生疏期。通過這篇文章記錄項目編寫程序中遇到的問題以及解決思路,希望對以后的自動化開發能有些幫助。

本篇記錄5個問題:

問題1:如何激活pycharm

問題2. 搭建selenium + unittest開發環境

問題3:顯示等待、隱式等待理解錯誤

問題4:格式化字符串方法

問題5:某一步頁面無法響應,如何保證自動化程序能夠繼續運行,不受報錯影響

?

問題1:如何激活pycharm:

? ? 網上找的攻略,想在已經激活了,但是忘了具體用的是那個版本的了,以后搭建環境的時候,再補充。

? ? 解決方法:找攻略

問題2. 搭建selenium + unittest開發環境:

? ? 解決方法:pycharm--file--setting--Project:Progrem--Project Interpreter

導入selenium包:創建成功后,再列表中會顯示selenium。這樣操作的只對你當前開發的包可用,每次新創建一個包,就需要重新引用下。

python3--selenium--unittest。長時間未使用,編寫UI自動化遇到的問題以及解決方法【問題1-5】_第1張圖片

? ? unittest是python中內置的框架,不需要導包,直接在需要使用的文件中,import unittest就可以了。至于unittest框架里有哪些內容,如何使用,網上有很多詳細的說明,筆者自己還記得,就不細說了,如果使用中遇到什么問題,可以在評論中討論。筆者看到一定會給出自己的理解建議。

問題3:顯示等待、隱式等待理解錯誤:

? ? 解決方法:顯示等待是在定位頁面某個元素,這個元素沒取到,就等待;取到了,就完成操作進入下一步;在配置的等待時間內還沒渠道,則會拋出異常。隱式等待,等待的是整個頁面完成加載。

顯示等待效率要高于隱式等待。

顯示等待的添加方法:

            
              from selenium.webdriver.support.wait import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
            
          

driver = webdriver.Firefox()

driver.get("http://somedomain/url_that_delays_loading")

            
              el = WebDriverWait(cls.driver, 10).until(EC.presence_of_element_located('class', 'test'))
            
          

問題4:格式化字符串方法:

? ? ? ? 解決方法:python字符串格式化有兩種:

1.? 使用%? ?例如:?

            
'//*[@id="instances"]/tbody/tr[%s]/td[2]/b' % count
          

2. 使用.format? ?例如:

            
"{Key}:{url} 環境未啟動".format(Key = Key, url = Value[0])
          

format方法可以通過位數來定位、也可以通過代碼值進行對應 例如:print("{0:2d}{1:.3f}{site}".format(200, 3.1415, site = "gg"))

也可以直接進行轉化: !a? 轉化為:ascii? ? ? !s 轉化為:str? ? ?!r? ?轉化為:repr

問題5:某一步頁面無法響應,如何保證自動化程序能夠繼續運行,不受報錯影響

? ? ? ? 解決方法:引入異常處理:try? ? ?except? ? ?else? ? ?finally

1. 首先需要知道哪一步操作會出現error。 將這一步寫入到try中

2. 然后確認error內容。except? 中記錄這個error類型、同時需要在文件中引入error類型

3. 最后進行異常處理。出現異常之后系統進行什么操作,保證能夠繼續運行。可以是數據處理或者下一步操作等

            
from selenium.common.exceptions import InvalidArgumentException   # 運入報錯error類型

try:   # 將可能發生錯誤內容,寫入try中
    uihandle.get(Value[0])
    sleep(2)
    # 獲取登陸頁面的Title信息
    Server_Title = driver.title
    # 獲取的Title與config中的title比較,如果不同,則說明頁面沒啟動
    if Server_Title == Value[1]:
        # print("{Key}:{url} 已經啟動".format(Key = Key, url = Value[0]))
        self.TestReport['Total_Success'] += 1
    else:
        print('*' * 50)
        print("{Key}:{url} 環境未啟動".format(Key=Key, url=Value[0]))
        self.TestReport['Total_Failures'] += 1
        self.TestReport["Error_Report"].append("""{Key}:{url}
                        該地址未完成啟動
                        """.format(Key=Key, url=Value[0]))

except InvalidArgumentException: # 填寫error類型,系統捕捉到錯誤后不再停止,而是執行except中的程序
    self.TestReport["Error_Report"].append("""{Key}:{url}
    該地址無法訪問
    """.format(Key=Key, url=Value[0]))
    self.TestReport['Total_Failures'] += 1
finally:   # 執行完try、except后,最后兩者都需要執行的內容,寫入finally
    driver.quit()
          

?

?

?


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 草久在线| 四虎色姝姝影院www 四虎色影院 | 在线观看国产福利 | 五月天婷婷在线免费观看 | 欧美成人观看视频在线 | 黄色综合 | 中文在线免费不卡视频 | 欧美人拘一级毛片 | 欧美一级看片a免费视频 | 毛片免费永久不卡视频观看 | 羞羞视频在线免费 | 国内精品视频一区二区三区八戒 | 国产精品视频偷伦精品视频 | 亚洲精品久久久久午夜福 | 夜夜操操 | 国产毛片视频网站 | 一区二区三区不卡在线 | 精品综合| 日韩一区国产二区欧美三区 | 四虎永久在线精品国产馆v视影院 | 国产在线视频精品视频免费看 | 一二三区 | 99看视频| 久久r精品 | 老头与老头同性tube可播放 | 一级片一级毛片 | 爽爽影院在线免费观看 | 大片在线播放日本一级毛片 | 日日添天天做天天爱 | 天天插天天舔 | 日本久操视频 | 最新国产福利在线 | 91国在线观看 | 免费黄色福利视频 | 综合色在线观看 | 成人深夜视频在线观看 | 亚洲国产精品yw在线观看 | 亚洲一区日韩二区欧美三区 | 一级毛片高清 | 搡的我好爽视频在线观看 | 91麻豆精品国产91久久久久久 |