1. 程式人生 > >自動化測試登入 python+selenium

自動化測試登入 python+selenium

Page Object

Page Object是Selenium自動化測試專案開發實踐的最佳設計模式之一,通過對介面元素和功能模組的封裝減少冗餘程式碼,同時在後期維護中,若元素定位或功能模組發生變化,只需要調整頁面元素或功能模組封裝的程式碼,提高測試用例的可維護性。

BasePage.py

from  time import sleep

class Page():
    '''頁面基礎類'''

    #初始化
    def __init__(self, dirver):
        self.base_url = 'http://www.uerb.net/login.php'
        self.driver = dirver
        # self.timeout = 10
#開啟不同的子頁面 def _open(self): url_ = self.base_url print(self.driver) # self.driver.maximize_window() self.driver.get(self.base_url) # sleep(2) # print(self.driver.current_url) assert self.driver.current_url == url_, 'Did ont land on %s'
% url_ def open(self): self._open() #元素定位方法封裝 def find_element(self,*loc): return self.driver.find_element(*loc)

LoginPage.py

from BasePage import *
from  time import sleep
from selenium.webdriver.common.by import By

class LoginPage(Page):
    '''首頁登入頁面'''

    #定位器
username_loc=(By.NAME,'username3') password_loc=(By.NAME,'password3') login_loc =(By.LINK_TEXT,'使用者登入') submit_loc =(By.CLASS_NAME,'login-style-update') search_loc =(By.CLASS_NAME,'s_btn') keyword_loc =(By.NAME,'wd') # 點選登入 def type_login(self): self.find_element(*self.login_loc).click() # 查詢 def type_keyword(self,keyword): self.find_element(*self.keyword_loc).clear() self.find_element(*self.keyword_loc).send_keys(keyword) # 點選登入 def type_search(self): self.find_element(*self.search_loc).click() #使用者名稱輸入框元素 def type_username(self,username): self.find_element(*self.username_loc).clear() self.find_element(*self.username_loc).send_keys(username) #密碼輸入框元素 def type_password(self,password): self.find_element(*self.password_loc).clear() self.find_element(*self.password_loc).send_keys(password) #登入按鈕元素 def type_submit(self): self.find_element(*self.submit_loc).click() #登入功能模組封裝 def test_user_login(driver, username, password, keyword): '''測試使用者名稱密碼是否可以登入''' login_page = LoginPage(driver) login_page.open() # login_page.type_keyword(keyword) # login_page.type_search() login_page.type_login() # login_page.type_zmlogin() sleep(4) login_page.type_username(username) login_page.type_password(password) sleep(4) login_page.type_submit() sleep(10)

loin_test.py

from LoginPage import *
from selenium import webdriver

driver=webdriver.Chrome()

username = '*******'
password = '1'
keyword  = '我'
test_user_login(driver, username, password, keyword)

driver.quit()

相關推薦

自動化測試登入 python+selenium

Page Object Page Object是Selenium自動化測試專案開發實踐的最佳設計模式之一,通過對介面元素和功能模組的封裝減少冗餘程式碼,同時在後期維護中,若元素定位或功能模組發生變化,只需要調整頁面元素或功能模組封裝的程式碼,提高測試用例的可維

自動化測試python+selenium生成組織機構程式碼證

orgList = ['MA1WYPU7-X', 'MA3828DP-X', 'MA72057F-2', 'MA31Y86J-4', 'MA31Y5GQ-7', 'MA45JGJA-9', 'MA0CKGXH-X', 'MA2RXWPR-2', 'MA2RXXF

一次完整的自動化登入測試-基於python+selenium進行cnblog的自動化登入測試

Web登入測試是很常見的測試!手動測試大家再熟悉不過了,那如何進行自動化登入測試呢!本文作者就用python+selenium結合unittest單元測試框架來進行一次簡單但比較完整的cnblog自動化登入測試,給大家提供點參考!下面就包括測試程式碼和每種測試情況的截圖:

學習《selenium2自動化測試基於python》遇到的問題(一)

pypi tools bsp sel dir python 解決方案 打不開 什麽 問題一: 通過cmd,用Python安裝setuptools時,報錯no module named ‘six‘等類似情況時,解決方案: 翻譯過來就是缺少SIX的模塊,直接到官網打開,下載

自動化測試基礎篇--Selenium鼠標鍵盤事件

class font 全選 回車 es2017 eight -type indent 模擬鍵盤 前面幾篇文章我們學習了怎麽定位元素,同時通過實例也展示了怎麽切換到iframe,怎麽輸入用戶名和密碼,怎麽點擊登錄按鈕,首先我們先回顧一下元素的基本操作。 1.點擊(鼠標左鍵)頁

UI自動化測試簡介及Selenium工具的介紹和環境搭建

版本 ebe 需求分析 核心 nis rep color 基於 多語 自動化測試簡介 1.1何為自動化測試?   是把以人為驅動的測試轉化為機器執行的一種過程,它是一種以程序測試程序的過程。換言之,就是以程序實現的方式來代替手工測試。 1.2自動化測試分類   分為功能自動

自動化測試 - Appium + Python史上最全最簡環境搭建步驟

一,為什麼是Appium借一張圖:   1.1 Appium優點 l  開源 l  跨架構:NativeApp、Hybird App、Web App l  跨裝置:Android、iOS、Firefox OS l  不依賴原始碼 l 

python自動化測試python基本介紹、條件判斷\迴圈、

  1、python基本介紹 python語言簡單,語法簡潔,易上手。python可以做很多事情,做自動化測試、做運維、做資料分析、做web開發、做人工智慧等等,用途很廣泛。 目前官方發文稱python2的版本到2020年就不再維護,建議大家學習python3. python是一門解釋性語言

自動化測試Python 訪問 mysql資料庫

一、準備工作 1、確保Python環境已安裝mysql,py3.*版本:pip install PyMySQL PyMySQL是在Python3.x中用於連線MySQL伺服器的一個庫。 2、已經建立了資料庫testDB,相關表table,以及表字段 3、資料庫連線

自動化測試工具:Selenium 無頭瀏覽器:PhantomJS

Ajax只是一個載入技術 selenium是可以通過pycharm自動匯入模組的 然後把檔案複製到scripts目錄下,在把下載的路徑設定成環境變數就可以使用了 面試的時候直接說自己會自動化測試工具、無頭瀏覽器去爬取動態載入頁面、js分頁技術、ajax記載技

安卓自動化測試入門 Python

第1章 課程介紹(需要有Android和python基礎)如果你想學習移動端專項測試與自動化測試的知識,不知道從哪裡開始! 如果你想從事測試工作,面試卻四處碰壁, 不知道錯在哪裡! 如果你一直在做功能性測試,不知道前途在哪裡!  那麼這個課程就是你需要的!第2章 Androi

自動化測試學習 python學習day7

連線MySQL資料庫 python和mysql相連 需要安裝Mysql-python的一個外掛 然後連線 import MySQLdb from datetime import date if __name__ == '__main__': # 連線

App自動化測試Appium+Python最新資料

課程目錄:" D5 I4 h8 P. l第一章:App自動化測試概述, y, D6 G& C1 J  ~& y0 Y; }第二章:Android系統基礎3 P7 V: p( t5 o5 ]. P& e第三章:測試工具簡介第四章:Appium基礎8 ~4 `; o7

看看大牛是怎麼用Web介面開發與自動化測試基於Python語言

感覺這篇文章應該是非常實用的。現在給大家分享下。 這裡推薦下我自己建的python群:595266089,不管你是小白還是大牛,小編我都挺歡迎,不定期分享乾貨,包括2017最新的python企業案例學習資料和零基礎入門教程,歡迎初學和進階中的小夥伴。 Ps:我下載了,但是和書中出入比

自動化測試簡介及Selenium的一些基礎操作

第一章:自動化測試簡介 自動化測試是把以人為驅動的測試行為轉化為機器執行的一種過程。通常,在設計了測試用例 並通過評審之後,由測試人員根據測試用例中描述的規程一步步執行測試,得到實際結果與期望結果的比較。 一 分層自動化測試 1:UI介面層(10%)前端 包括:(1)UI自動化測試; (2)

簡單實現介面自動化測試(基於python+unittest)

簡介 本文通過從Postman獲取基本的介面測試Code簡單的介面測試入手,一步步調整優化介面呼叫,以及增加基本的結果判斷,講解Python自帶的Unittest框架呼叫,期望各位可以通過本文對介面自動化測試有一個大致的了解。 引言 為什麼要做介面自動化測試? 在當前網際網路產品迭代頻繁的背景下,迴歸測試的

《Web介面開發與自動化測試基於Python語言》–第3章

《Web介面開發與自動化測試基於Python語言》–讀書筆記 第3章 3.1 來寫個登入功能 修改/guest/sign/templates/index.html: <!DOCTYPE html> <html>

自動化測試python))——解決appium每次測試指令碼都要安裝unlock和settings兩個apk問題的方法

用自己的手機每次測試指令碼總是會提示安裝appium settings 和 unlock兩個apk檔案,可以說是非常麻煩了,這裡找到一個解決辦法: 找到**appium安裝目錄,在 appiu

《Web介面開發與自動化測試基於Python語言》–第5章

《Web介面開發與自動化測試基於Python語言》–讀書筆記 第5章 Django模板 Ps:我下載了,但是和書中出入比較大,建議還是自己按照書碼字吧。 5.1 Django-bootstrap3 Bootstrap:源於Twi

《Web介面開發與自動化測試基於Python語言》--第7章

《Web介面開發與自動化測試基於Python語言》–讀書筆記 第7章 介面相關概念 7.1 分層的自動化測試 測試金字塔模型: 分層自動化測試模型: 傳統自動化測試: 基於產品UI層的自動化測試,它是將黑盒功能測試轉化為