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

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條評論
主站蜘蛛池模板: 色色色资源站 | 久久精品国语 | 欧美成人三级一区二区在线观看 | 九九精品视频在线观看九九 | 中文字幕免费视频 | 欧美成人一区二区三区在线视频 | 日本aⅴ在线不卡免费观看 日本aaaa | 久久精品欧美日韩精品 | 亚洲欧洲中文字幕 | 亚洲成a人片在线观看www | 狠狠躁天天躁 | 亚洲精品国产福利 | 免费中文字幕在线国语 | 国产精品欧美一区二区在线看 | 日韩欧美 在线播放 | 夜夜夜夜夜夜夜工噜噜噜 | 97影院九七影院理论片 | 番茄视频在线观看黄版本免费 | 精品国产成人三级在线观看 | 国产精品成人观看视频国产 | 2021国产精品久久久久 | 99爱免费观看视频在线 | 国产成人高清亚洲一区91 | 精品综合久久久久久97超人 | 亚洲欧美日韩中文高清一 | 模特精品视频一区 | 国产青青久久 | m3u8久久国产精品影院 | 日本特级爽毛片叫声 | 在线播放五十路乱中文 | 日日干夜夜欢 | 中文字幕永久视频 | 这里只有精品在线播放 | 久草视频福利在线观看 | 6080一级毛片 | 午夜成人免费影院 | 久久九九青青国产精品 | 美女久久久久久久久久久 | 九九热免费视频 | 午夜免费福利网站 | 日日夜夜欧美 |