用一套方法論去設計許多方法來解決工程上遇到的問題。 即 "一生萬法、萬法圓通"。

Recent in Recipes

3/Food/post-list
顯示具有 Python 標籤的文章。 顯示所有文章
顯示具有 Python 標籤的文章。 顯示所有文章

Selenium 入門

 1. pip3 install selenium (python client package)

2. Download chrome Driver and put it at any easy access path  


3. Writing an hello Selenium



自動化測試框架PO/POM設計模式

 以這個框架為範例來理解ETG-AF的架構:


1. 你還不明白自動化的POM設計模式,一篇文章統統告訴你!


2. 自动化测试之POM设计模式的原理与实现



3. 一个基于POM模式的Web自动化测试框架



4. selenium自動化測試框架PO設計模式



5. po設計模式在UI自動化測試中的實踐



6. 初探自動化測試框架(python)序章——框架結構



7. 自動化測試po分層如何實現?


8.UI自动化之分层思想pom模式







Python主講移動端自動化測試框架Appium 從基礎到項目實戰
說到APP自動化測試,Appium可是說是非常流行了, 不僅支持多語言、多平台的優勢,同時支持Andriod、iOS、H5的自動化測試;本課程會從初級的Appium框架講起,涉及業界常見的po模型、關鍵字模型、服務自動化、持續集成等實戰講解,讓你快速上手移動端自動化測試工作,高薪工作手到擒來!

技術儲備要求:
瞭解Selenium、Webdriver基礎知識
有一定的Python語法基礎
熟悉APP功能測試

第1章 appium環境到基礎函數的封裝

    通過環境搭建得思路分析將環境搭建起來,通過Appium的原理刨析整個運行過程,以慕課網啟動到登陸的實際例子為切入點,深入講解appium的id、className、層級定位、list定位、UIAutomator定位、xpath定位、H5定位等基礎知識和常見api使用,函數封裝等。...
        1-1 課程目標及課程規劃-導學 試看
        1-2 Appium簡介及工作原理
        1-3 Appium環境搭建
        1-4 讓Appium跑起來
        1-5 android工具使用介紹
        1-6 appium啟動代碼配置講解
        1-7 啟動日誌分析
        1-8 頁面滑動及初級使用
        1-9 頁面簡單滑動函數封裝
        1-10 driver和滑動函數封裝結合
        1-11 如何切換activity-解決真機無法啟動問題
        1-12 id定位進行登錄操作
        1-13 className定位解析
        1-14 層級定位思想分析
        1-15 層級定位和list定位結合實戰
        1-16 通過UIAutomator進行定位用戶信息
        1-17 通過xpath進行定位用戶信息
        1-18 原生app和H5進行相互切換代碼實戰
        1-19 如何獲取tost元素
    第2章 PO模型設計

    以po設計思想為切入點,通過實際項目登陸頁面實際講解如何去設計po模型,如何在實際工作中去封裝模型中需要的各個工具類,通過慕課網的整個登陸為實例完成了po模型的整個設計到開發。
        2-1 讀取配置文件基礎代碼講解
        2-2 讀取配置文件代碼封裝實戰
        2-3 定位信息封裝思路講解
        2-4 封裝定位信息
        2-5 分層思想 試看
        2-6 封裝page層
        2-7 封裝handle層
        2-8 封裝business層
    第3章 Unittest的使用

    Unittest是python語言中最常見的測試框架,我們以Unittest的初級使用為切入點,再通過結合po模型為實際例子來講解Unittest在實際項目中如何運行以及生成測試報告的。
        3-1 unittest的簡單使用
        3-2 unittest中斷言的使用
        3-3 unittest中case的管理
        3-4 unittest中HTMLTestRunner的使用
        3-5 多線程的初級使用
        3-6 多線程和unittest、HTMLTestRunner結合使用
    第4章 appium服務介紹

    以Appium-Server環境搭建為切入點,通過命令的初級使用及啟動,結合前面po模型完成初級自動化框架搭建。
        4-1 appium命令行環境搭建以及參數的使用
        4-2 命令行啟動和腳本結合
        4-3 page層封裝driver
    第5章 一鍵自動化從設計到實戰

    以慕課網的登陸為例,講解如何實現一鍵自動化,通過如何設計為切入點,然後通過慕課網實例講服務自動化完成,最後將服務自動化和Unittest、HTMLTestRunner、多進程、PO模型等結合,實現整個框架從設計到開發,最終實現系統根據用戶插入的設備數自動在每個設備上去跑case。...
        5-1 服務端設計思路
        5-2 封裝執行命令方法
        5-3 重構封裝獲取設備信息類
        5-4 檢測端口是否被佔用
        5-5 封裝生成可用端口方法
        5-6 封裝生成啟動命令行函數
        5-7 封裝多線程啟動appium服務
        5-8 清理appium環境
        5-9 通過yaml文件獲取命令行數據
        5-10 多線程啟動appium和寫入命令到文件
        5-11 多線程和unittest和po結合問題剖析
        5-12 多線程、unittest、啟動服務邏輯串聯
        5-13 多線程、unittest、啟動服務、流程梳理代碼重構
        5-14 多進程、unittest、HTMLTestRunner、啟動服務流程梳理代碼重構
    第6章 關鍵字模型從設計到實戰

    關鍵字模型和po模型是自動化測試中運用得最多的模型,本章節以慕課網啟動、登陸為例,通過講解如何設計關鍵字模型,如何封裝常用工具類。並且通過實戰講解從設計到開發完成整個關鍵字模型,讓學習更徹底。
        6-1 關鍵字模型設計思想以及方向
        6-2 操作excel的初級代碼講解
        6-3 重構封裝操作excel方法
        6-4 封裝操作函數類
        6-5 封裝獲取數據的類
        6-6 分析關鍵字模型實現邏輯 試看
        6-7 關鍵字模型邏輯代碼設計封裝
        6-8 關鍵字模型邏輯梳理之代碼重構-1
        6-9 關鍵字模型邏輯梳理之代碼重構-2
        6-10 關鍵字模型邏輯梳理之代碼調錯
        6-11 關鍵字模型總結
        6-12 關鍵字模型之判斷元素是否存在回寫結果
    第7章 持續集成講解

    持續集成是自動化必不可少的知識,課程通過最基礎的環境搭建到最後的項目配置,帶大家完成一次實際操作版的持續集成。
        7-1 持續基礎環境搭建
        7-2 持續集成項目配置
    第8章 查漏補缺

    知識學不完,本章節主要是通過查漏補缺的形式將項目中或者一些特殊情況的處理方式通過實際例子呈現給大家。
        8-1 日誌模塊收集
        8-2 錯誤截圖方法重構

編程技巧進階修練 -- Python 篇

1. OOP (物件導向)

2. Refactoring (重構並簡化)

3. Pythonic Style (善用Python獨門技巧)

4. Comprehensive Application(全面的應用範例)


1. OOP (物件導向)



2. Refactoring (重構並簡化它)




3.Pythonic Style (善用Python獨門技巧)





4.Comprehensive Application(全面的應用範例)



Pyhton __dunder__

 



class中魔法屬性

__module__:獲取模塊名

__class__:獲取類名

__dict__ :獲取對象或類的屬性,dict形式

__dir__:獲取對象或類的屬性,list形式,包括__dict__.

__mro__:獲取對象的繼承順序

__doc__:獲得對象或函數的描述信息

__file__:獲得該文件的名字,其包含路徑信息。



class中魔法方法:

__init__:對象初始化

__new__:開闢空間創建新對象

__del__:對象釋放時,自動自行

__call__: 對象調用時(obj()),自動執行

__str__: 對象轉化為字符信息,以友好的方式便於用戶理解的方式返回字符內容

__repr__: 返回對象的描述信息,針對開發者,返回信息保留有原始性

__bool__:判斷對象的bool值時,會調用該方法。一般使用if時,觸發該方法

__eq__、__gt__、__lt__、__ge__、__le__:當對象進行比較時,出發該方法

__setattr__、__getattr__、__delattr__:訪問對象屬性的時候,觸發該方法

__enter__:with 上下文管理器開始後,自動執行

__exit__:with 上下文管理器結束後,自動執行,即使主進程報錯,也執行

__iter__:  將對象轉化為可迭代的對象,

__next__:for 遍歷時觸發此方法,

如何製作 發行 Python 套件 .WHL

 How to Publish Your Own Python Package


1. PRE-REQUISITES

python -m pip install -upgrade pip

pip install wheel

pip install twine


STEP 1: CREATE A SEPERATE EMPTY FOLDER TO CONTAIN OUR PACKAGE

STEP2: JUMP INSIDE YOUR FOLDER AND WRITE YOUR PYTHON FILES

__init__.py

and other modules.py

STEP 3: WRITE SOME OFFICIAL FILES

setup.py


README.md


LICENSE.txt

STEP 4: UPLOADING FILES IN GITHUB



STEP 5: COMPILE THE setup.py FILE

python setup.py sdist bdist_wheel
use this command in Container folder.

After compilation, you will see some new folders named like these… build: build package information. dist: Contains your .whl file.

A WHL file is a package saved in the Wheel format,
which is the standard built-package format used for Python distributions.
You can directly install a .whl file using


pip install some_package.whl


STEP 6: CREATE AN ACCOUNT IN pypi.org AND test.pypi.org


STEP 7: CHECK YOUR PACKAGE IN pypi.org or test.pypi.org WHATEVER YOU HAVE USE

STEP 8: INSTALL YOUR PACKAGE ON YOUR PC AND TEST IT.

STEP 9: RELEASE NEW VERSIONS



Python 動態載入模組、類、函式

Function, Class, Module, Package