H5-UI自動化實現(xiàn)

H5AutoRun.png
F102E18F-D532-4CED-B995-53D5C78382E3.png

一绸罗、ChromeDriver配置

1爱咬、指定使用本地文件

官網(wǎng):https://chromedriver.chromium.org/downloads
國內(nèi):https://npm.taobao.org/mirrors/chromedriver/
將文件拖入項目中:
driver_path = BASEDIRPATH + '/chromedriver'

2瑞你、配置手機機型
  • 通過機型名稱指定
    mobileEmulation = {'deviceName':'iPhone X'}
    options.add_experimental_option('mobileEmulation', mobileEmulation)
    driver = webdriver.Chrome(executable_path=driver_path, chrome_options=options)
  • 直接限制分辨率
mobile_emulation = {
   "deviceMetrics": { "width": 360, "height": 640, "pixelRatio": 3.0 },
   "userAgent": "Mozilla/5.0 (Linux; Android 4.2.1; en-us; Nexus 5 Build/JOP40D) AppleWebKit/535.19 (KHTML, like Gecko) Chrome/18.0.1025.166 Mobile Safari/535.19" 
}
chrome_options = Options()
chrome_options.add_experimental_option("mobileEmulation", mobile_emulation)

mobileEmulation可配置的機型枚舉:

mobile_emulation = { 
            #"deviceName": "Apple iPhone 3GS"
            #"deviceName": "Apple iPhone 4"
            #"deviceName": "Apple iPhone 5"
            #"deviceName": "Apple iPhone 6"
            #"deviceName": "Apple iPhone 6 Plus"
            #"deviceName": "BlackBerry Z10"
            #"deviceName": "BlackBerry Z30"
            #"deviceName": "Google Nexus 4"
            "deviceName": "Google Nexus 5"
            #"deviceName": "Google Nexus S"
            #"deviceName": "HTC Evo, Touch HD, Desire HD, Desire"
            #"deviceName": "HTC One X, EVO LTE"
            #"deviceName": "HTC Sensation, Evo 3D"
            #"deviceName": "LG Optimus 2X, Optimus 3D, Optimus Black"
            #"deviceName": "LG Optimus G"
            #"deviceName": "LG Optimus LTE, Optimus 4X HD" 
            #"deviceName": "LG Optimus One"
            #"deviceName": "Motorola Defy, Droid, Droid X, Milestone"
            #"deviceName": "Motorola Droid 3, Droid 4, Droid Razr, Atrix 4G, Atrix 2"
            #"deviceName": "Motorola Droid Razr HD"
            #"deviceName": "Nokia C5, C6, C7, N97, N8, X7"
            #"deviceName": "Nokia Lumia 7X0, Lumia 8XX, Lumia 900, N800, N810, N900"
            #"deviceName": "Samsung Galaxy Note 3"
            #"deviceName": "Samsung Galaxy Note II"
            #"deviceName": "Samsung Galaxy Note"
            #"deviceName": "Samsung Galaxy S III, Galaxy Nexus"
            #"deviceName": "Samsung Galaxy S, S II, W"
            #"deviceName": "Samsung Galaxy S4"
            #"deviceName": "Sony Xperia S, Ion"
            #"deviceName": "Sony Xperia Sola, U"
            #"deviceName": "Sony Xperia Z, Z1"
            #"deviceName": "Amazon Kindle Fire HDX 7″"
            #"deviceName": "Amazon Kindle Fire HDX 8.9″"
            #"deviceName": "Amazon Kindle Fire (First Generation)"
            #"deviceName": "Apple iPad 1 / 2 / iPad Mini"
            #"deviceName": "Apple iPad 3 / 4"
            #"deviceName": "BlackBerry PlayBook"
            #"deviceName": "Google Nexus 10"
            #"deviceName": "Google Nexus 7 2"
            #"deviceName": "Google Nexus 7"
            #"deviceName": "Motorola Xoom, Xyboard"
            #"deviceName": "Samsung Galaxy Tab 7.7, 8.9, 10.1"
            #"deviceName": "Samsung Galaxy Tab"
            #"deviceName": "Notebook with touch"
            
            # Or specify a specific build using the following two arguments
            #"deviceMetrics": { "width": 360, "height": 640, "pixelRatio": 3.0 },
            #"userAgent": "Mozilla/5.0 (Linux; Android 4.2.1; en-us; Nexus 5 Build/JOP40D) AppleWebKit/535.19 (KHTML, like Gecko) Chrome/18.0.1025.166 Mobile Safari/535.19" }
        }

二招狸、測試報告:BeautifulReport

1贤惯、安裝

'pip install BeautifulReport'

2菜皂、使用
    suite = unittest.TestSuite()
    suite.addTest(unittest.makeSuite('unittest class_name'))
    myapp.run.ReportDiscover(suite, sys.argv[2])
    result = BeautifulReport(suite)
    result.report(filename=case.run_file, description=case.case_name, log_path='',report_dir=os.path.join('項目目錄', 'templates/'))
3、拆分失敗用例詳情
# 錯誤用例信息
def FailReportInfo(result_list):
    """
    :param result_list:
    :return:
    """
    errors_case_list = []
    for case_info in result_list:
        case_info_list = list(case_info)
        test_status = case_info_list[4]
        if test_status == '錯誤' or test_status == '失敗':
            class_name = case_info_list[0]
            test_name = case_info_list[1]
            case_name = case_info_list[2]
            fail_info = case_info_list[5]
            error_case_info = {'class_name': class_name, 'test_name': test_name, 'case_name': case_name,
                               'fail_info': fail_info}
            errors_case_list.append(error_case_info)
        else:
            continue

三镇草、靜態(tài)模板

1眶痰、主題列表

https://bootswatch.com/

2、下載bootstrap.css文件

移動到項目static/bootstrap-xxx-dist/css

3陶夜、如何引用

在模板文件(templates/xxx.html)的<head>中直接引用

<link href="/static/bootstrap-x.x.x-dist/css/bootstrap.min.css" rel="stylesheet">
    <![endif]-->
    <script src="/static/bootstrap-x.x.x-dist/jquery-3.6.0.min.js"></script>
    <script src="/static/bootstrap-x.x.x-dist/js/bootstrap.js"></script>
    <script src="/static/bootstrap-x.x.x-dist/js/bootstrap.min.js"></script>

四凛驮、效果圖

F102E18F-D532-4CED-B995-53D5C78382E3.png
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市条辟,隨后出現(xiàn)的幾起案子黔夭,更是在濱河造成了極大的恐慌,老刑警劉巖羽嫡,帶你破解...
    沈念sama閱讀 219,490評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件本姥,死亡現(xiàn)場離奇詭異,居然都是意外死亡杭棵,警方通過查閱死者的電腦和手機婚惫,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,581評論 3 395
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來魂爪,“玉大人先舷,你說我怎么就攤上這事∽沂蹋” “怎么了蒋川?”我有些...
    開封第一講書人閱讀 165,830評論 0 356
  • 文/不壞的土叔 我叫張陵,是天一觀的道長撩笆。 經(jīng)常有香客問我捺球,道長,這世上最難降的妖魔是什么夕冲? 我笑而不...
    開封第一講書人閱讀 58,957評論 1 295
  • 正文 為了忘掉前任氮兵,我火速辦了婚禮,結(jié)果婚禮上歹鱼,老公的妹妹穿的比我還像新娘泣栈。我一直安慰自己,他們只是感情好弥姻,可當我...
    茶點故事閱讀 67,974評論 6 393
  • 文/花漫 我一把揭開白布秩霍。 她就那樣靜靜地躺著,像睡著了一般蚁阳。 火紅的嫁衣襯著肌膚如雪铃绒。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,754評論 1 307
  • 那天螺捐,我揣著相機與錄音颠悬,去河邊找鬼矮燎。 笑死,一個胖子當著我的面吹牛赔癌,可吹牛的內(nèi)容都是我干的诞外。 我是一名探鬼主播,決...
    沈念sama閱讀 40,464評論 3 420
  • 文/蒼蘭香墨 我猛地睜開眼灾票,長吁一口氣:“原來是場噩夢啊……” “哼峡谊!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起刊苍,我...
    開封第一講書人閱讀 39,357評論 0 276
  • 序言:老撾萬榮一對情侶失蹤既们,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后正什,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體啥纸,經(jīng)...
    沈念sama閱讀 45,847評論 1 317
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,995評論 3 338
  • 正文 我和宋清朗相戀三年婴氮,在試婚紗的時候發(fā)現(xiàn)自己被綠了斯棒。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 40,137評論 1 351
  • 序言:一個原本活蹦亂跳的男人離奇死亡主经,死狀恐怖荣暮,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情罩驻,我是刑警寧澤渠驼,帶...
    沈念sama閱讀 35,819評論 5 346
  • 正文 年R本政府宣布,位于F島的核電站鉴腻,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏百揭。R本人自食惡果不足惜爽哎,卻給世界環(huán)境...
    茶點故事閱讀 41,482評論 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望器一。 院中可真熱鬧课锌,春花似錦、人聲如沸祈秕。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,023評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽请毛。三九已至志鞍,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間方仿,已是汗流浹背固棚。 一陣腳步聲響...
    開封第一講書人閱讀 33,149評論 1 272
  • 我被黑心中介騙來泰國打工统翩, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人此洲。 一個月前我還...
    沈念sama閱讀 48,409評論 3 373
  • 正文 我出身青樓厂汗,卻偏偏與公主長得像,于是被迫代替她去往敵國和親呜师。 傳聞我的和親對象是個殘疾皇子娶桦,可洞房花燭夜當晚...
    茶點故事閱讀 45,086評論 2 355

推薦閱讀更多精彩內(nèi)容