欧美三区_成人在线免费观看视频_欧美极品少妇xxxxⅹ免费视频_a级毛片免费播放_鲁一鲁中文字幕久久_亚洲一级特黄

python自動化測試框架搭建 - - PageObject+Unittest

系統 1959 0

先配圖看一下框架:

python自動化測試框架搭建 - - PageObject+Unittest_第1張圖片
python自動化測試框架搭建 - - PageObject+Unittest_第2張圖片
從上面兩張結構圖,大概講講每個模塊下的類實現的一些方法:

1、config

||-config.yml 配置文件,主要存放一些全局配置變量,如:

(1)截圖、報告、驅動存放路徑;

(2)發送郵件使用到的發件人郵箱及登錄密碼(因為發送郵件一般用于自動發送測試報告,所以發件人比較固定);

(3)繞過登錄驗證碼要寫入的cookies信息

||-config.py 包含讀取配置文件方法和一些全局參數

2、data

||-存放一些數據文件

!!-generator 一個生成各類型隨機數據的類,里面包含生成隨機漢字、指定位數的數字、字符串的方法,可以減少造測試數據的工作量

3、driver

||-存放瀏覽器驅動

4、log

||-logger.py 封裝的日志類,輸出不同級別的日志信息到指定的日志文件里

5、report

||-HTMLTestRunner.py 生成一個HTML格式的網頁報告

6、test

||-pageObject 存放各個頁面的元素、操作

||-test_suit 存放用例

7、utils

||-common 封裝常用方法

||——base_page 頁面基本操作(如前進、后退、關閉、切換窗口、彈窗處理、元素定位、點擊、輸入、截圖等)

||-file_reader 封裝各種數據文件讀取方法,實現腳本參數化

||——csv_reader.py 讀取csv文件,支持逐行或逐列讀取數據

||——excel_reader.py 讀取excel文件

||——yaml_reader.py 讀取yml文件,配置文件讀取就是調用這個類中的get_data()方法

接下來主要講一下常用方法的封裝。其實封裝這些方法主要是為了完善各種日常操作的日志信息寫入及異常處理。前進。后退、關閉、點擊、輸入這些都沒什么特別的,主要就是調用driver的方法實現,再加上日志信息寫入和一些異常處理即可。

著重講一下切換窗口、日志信息寫入、彈窗處理及元素定位三個方法

1、切換窗口:

分三種情況——當前有1/2/>2個窗口

①只有一個窗口,無法切換

②有兩個窗口,直接切換到當前窗口外的另一窗口

③有兩個以上窗口,遍歷每個窗口,直到切換到的窗口是目標窗口(需要靠傳入參數判斷)為止

If len(driver.window_handles)==1:

#不做任何操作,輸入警告日志信息

elif len(driver.window_handles)==2:

driver.switch_to_window(‘另一窗口句柄’)

else:

For window in driver.window_handles:

            
               driver.switch_to_window(window)

 If 當前窗口是目標窗口:

   Break

            
          
  1. 日志信息寫入:

在每一個封裝好的操作類里面,針對各種操作,寫入對應日志信息。例如用常用方法類來說明

logger = Logger(‘BasePage’).get_logger()

If len(driver.window_handles)==1:

Logger.warning(“當前只打開了一個窗口,無法切換!”)

elif len(driver.window_handles)==2:

driver.switch_to_window(‘另一窗口句柄’)

Logger.info(‘切換到另一窗口’)

else:

For window in driver.window_handles:

            
               driver.switch_to_window(window)

 If 當前窗口是目標窗口:

   Break

            
          
  1. 彈窗處理(主要針對alert和confirm彈窗)

首先需要判斷彈窗是否出現?(使用EC.alert_is_present())

-Y 獲取彈窗提示信息,與傳入的預期提示信息比較,判斷信息是否正確?

-Y 點擊確認按鈕,關閉彈窗

-N 寫入錯誤日志,提示信息有誤,并截圖,點擊確認按鈕,關閉彈窗

-N 不需處理,寫入日志,無彈窗

  1. 元素定位

這里主要是使用find_element()的方法,傳入參數格式為(By.方法,’表達式’)

使用find_element()方法需要導入By模塊(from selenium.webdriver.common.by import By)

方法可選值:id、xpath、link text、partial link text、name、tag name、class name、css selector
python自動化測試框架搭建 - - PageObject+Unittest_第3張圖片
最后,稍微提一下這個框架里的PageObject思想

PageObject(頁面對象),簡單點說就是把界面定位和業務操作分開。這個框架主要是把UI自動化分為三層:對象庫層、操作層和業務層。

在pageObject文件夾下的各個page類,相當于是對象庫層,主要存放各個頁面的元素
python自動化測試框架搭建 - - PageObject+Unittest_第4張圖片
Base_Page類相當于是操作層,再由各個page類繼承Base_Object類來實現頁面的一些基本操作。最后testcase中的各個用例類,類似業務層,并使用unittest框架組裝并批量執行測試用例。

原文:https://blog.csdn.net/qq_22770715/article/details/78711848
版權聲明:本文為博主原創文章,轉載請附上博文鏈接!


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

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

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

【本文對您有幫助就好】

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

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 成年网站免费观看 | 国产小视频免费在线观看 | 泰国一级毛片aaa下面毛多 | 日本大人吃奶视频xxxx | 日韩av电影在线免费观看 | 日本大片在线观看免费视频 | 性明星video另类hd | 三级av| www.75zzz.com | 亚洲高清一区二区三区 | 天天操国产 | 91免费播放| 亚洲成人一区二区 | 亚洲不卡在线 | 国产一级高清 | 成人看的一级毛片 | 小明成人免费视频 | 中文字幕成人av | 欧美一级黄色免费看 | 碰碰碰精品视频在线观看 | 无主之花在线观看 | 久久九九国产精品怡红院 | 成人1234| 香蕉成人国产精品免费看网站 | 日本黄色免费片 | 日本在线播放一区 | 国产精品蜜芽在线观看 | 国产精品无码专区在线观看 | 激情婷婷六月天 | 日韩国产在线观看 | 天天狠狠 | 中日欧洲精品视频在线 | 欧美大片在线播放 | 成人免费黄网站 | 在线观看亚洲网站 | 成人1区2区| 亚欧精品一区二区三区四区 | 大香萑75久久精品免费 | 一级理伦 | 欧美一级视 | 免费一级特黄3大片视频 |