国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

selenium進(jìn)階之web自動(dòng)化項(xiàng)目框架搭建(Python版)

這篇具有很好參考價(jià)值的文章主要介紹了selenium進(jìn)階之web自動(dòng)化項(xiàng)目框架搭建(Python版)。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

web自動(dòng)化項(xiàng)目框架搭建

1、項(xiàng)目結(jié)構(gòu)
web自動(dòng)化框架的設(shè)計(jì),同接口自動(dòng)化框架一樣,采用分層設(shè)計(jì)。

文件或目錄 說(shuō)明
common 常用模塊,常用的一些函數(shù)封裝
testcases 用例模塊,所有的測(cè)試用例
test_data 用例數(shù)據(jù)
logs 日志目錄
reports 報(bào)告
settings.py 配置
main.py 項(xiàng)目入口

2、settings.py

import os
# 項(xiàng)目根目錄
BASE_DIR = os.path.dirname(os.path.abspath(__file__))

# 測(cè)試用例路徑
TEST_CASE_DIR = os.path.join(BASE_DIR, 'testcases')

# 項(xiàng)目主機(jī)
PROJECT_HOST = 'https://blog.csdn.net'

# 接口信息
INTERFACE = {
    'login': PROJECT_HOST + '/testleaf'
}

# 日志配置
LOG_CONFIG = {
    'name': 'project',
    'filename': os.path.join(BASE_DIR, 'logs', 'testleaf.log'),
    # 'encoding': 'utf-8',
    # 'fmt': None,
    # 'when': 'd',
    # 'interval': 1,
    # 'backup_count': 7,
    'debug': True
}

# 測(cè)試賬戶信息
TEST_NORMAL_USERNAME = 'admin'
TEST_NORMAL_PASSWORD = '888888'

3、main.py

import pytest
import settings

if __name__ == '__main__':
    pytest.main(['-s', '-v', settings.TEST_CASE_DIR])

4、common\log_handler.py

import logging
from logging.handlers import TimedRotatingFileHandler

def get_logger(name, filename, encoding='utf-8', fmt=None, when='d', interval=1, backup_count=7, debug=False):
    logger = logging.getLogger(name)
    logger.setLevel(logging.DEBUG)
    # 文件處理器的等級(jí)一般情況一定比控制臺(tái)要高
    if debug:
        file_level = logging.DEBUG
        console_level = logging.DEBUG
    else:
        file_level = logging.WARNING
        console_level = logging.INFO

    if fmt is None:
        fmt = '%(levelname)s %(asctime)s [%(filename)s-->line:%(lineno)d]:%(message)s'

    file_handler = TimedRotatingFileHandler(
        filename=filename, when=when, interval=interval, backupCount=backup_count, encoding=encoding)
    file_handler.setLevel(file_level)

    console_handler = logging.StreamHandler()
    console_handler.setLevel(console_level)

    formatter = logging.Formatter(fmt=fmt)
    file_handler.setFormatter(formatter)
    console_handler.setFormatter(formatter)

    logger.addHandler(file_handler)
    logger.addHandler(console_handler)

    return logger

if __name__ == '__main__':
    import settings
    log = get_logger(**settings.LOG_CONFIG)
    log.info('我是普通信息')
    log.warning('我是警告信息')

5、testcases\test_login.py文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-677146.html

from selenium import webdriver
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.common.by import By
import settings

class TestLogin:
    def test_login(self):
        # 1. 打開(kāi)瀏覽器
        with webdriver.Chrome() as driver:
            # 2. 訪問(wèn)登錄頁(yè)面
            driver.get(settings.INTERFACE['login'])
            # 3. 登錄
            # 3.1 定位用戶名輸入框
            wait = WebDriverWait(driver, timeout=3)
            username_input = wait.until(EC.visibility_of_element_located(('xpath', '//input[@name="phone"]')))
            # 3.2 輸入用戶名
            username_input.send_keys(settings.TEST_NORMAL_USERNAME)
            # 3.3 定位密碼輸入框
            # 3.4 輸入密碼
            # 3.5 定位登錄按鈕
            # 3.6 點(diǎn)擊登錄按鈕
            # 4. 斷言登錄:根據(jù)右上角的退出按鈕的出現(xiàn)
            assert wait.until(EC.visibility_of_element_located(('xpath', '//a[text()="退出"]')))

到了這里,關(guān)于selenium進(jìn)階之web自動(dòng)化項(xiàng)目框架搭建(Python版)的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • Web自動(dòng)化測(cè)試進(jìn)階 —— Selenium模擬鼠標(biāo)操作

    Web自動(dòng)化測(cè)試進(jìn)階 —— Selenium模擬鼠標(biāo)操作

    在實(shí)際的web產(chǎn)品測(cè)試中,對(duì)于鼠標(biāo)的操作,不單單只有click(),有時(shí)候還要用到右擊、雙擊、拖動(dòng)等操作,這些操作包含在ActionChains類(lèi)中。 首先導(dǎo)入ActionChains類(lèi): from selenium.webdriver.common.action_chains import ActionChains context_click():右擊 double_click():雙擊 drag_and_drop():拖動(dòng) move_to_

    2024年02月09日
    瀏覽(22)
  • Selenium:Web自動(dòng)化框架

    Selenium(Web Browser Automation)的初衷是Web應(yīng)用自動(dòng)化測(cè)試。Selenium還廣泛應(yīng)用于爬蟲(chóng),爬蟲(chóng)需要讓瀏覽器自動(dòng)運(yùn)行網(wǎng)址來(lái)獲取我們需要的內(nèi)容 Selenium不是單個(gè)軟件,它是由一系列的工具組成 Selenium庫(kù)支持多種編程語(yǔ)言:Python、Java等,支持多種瀏覽器:Chrome、Firefox、Edge等,支持

    2024年02月07日
    瀏覽(23)
  • 【自動(dòng)化測(cè)試】基于Selenium + Python的web自動(dòng)化框架

    【自動(dòng)化測(cè)試】基于Selenium + Python的web自動(dòng)化框架

    Selenium是一個(gè)基于瀏覽器的自動(dòng)化工具,她提供了一種跨平臺(tái)、跨瀏覽器的端到端的web自動(dòng)化解決方案。Selenium主要包括三部分:Selenium IDE、Selenium WebDriver 和Selenium Grid: ? 1、Selenium IDE:Firefox的一個(gè)擴(kuò)展,它可以進(jìn)行錄制回放,并可以把錄制的操作以多種語(yǔ)言(例如java,p

    2024年02月07日
    瀏覽(19)
  • 基于Selenium的Web自動(dòng)化框架

    基于Selenium的Web自動(dòng)化框架

    首先我們來(lái)看一下之前是如何書(shū)寫(xiě)頁(yè)面模式中的類(lèi)的: BasePage: GoogleMainPage: 重新審視之前的實(shí)現(xiàn),我們可以發(fā)現(xiàn)在各個(gè)子類(lèi)頁(yè)面中,均需要引用相當(dāng)?shù)膕elenium類(lèi)庫(kù)(比如webdriver),并且需要用webdriver來(lái)定位頁(yè)面元素,這就會(huì)造成各個(gè)子類(lèi)頁(yè)面與selenium類(lèi)庫(kù)有較多的集成,并且也

    2024年04月12日
    瀏覽(26)
  • Selenium Web自動(dòng)化測(cè)試框架實(shí)踐

    Selenium Web自動(dòng)化測(cè)試框架實(shí)踐

    目錄 ? ? ? ?前言: 項(xiàng)目背景 功能實(shí)現(xiàn) 項(xiàng)目架構(gòu) 瀏覽器driver定義 用例運(yùn)行前后的環(huán)境準(zhǔn)備工作 工具方法模塊 Pageobject頁(yè)面對(duì)象封裝 執(zhí)行測(cè)試用例 ? ? ? ?前言: ? ? ? ? ?Selenium是一個(gè)基于Web的自動(dòng)化測(cè)試框架,可以通過(guò)模擬用戶在瀏覽器上的操作,來(lái)自動(dòng)化地測(cè)試Web應(yīng)

    2024年02月10日
    瀏覽(27)
  • python基于Selenium的web自動(dòng)化框架

    python基于Selenium的web自動(dòng)化框架

    1 什么是selenium Selenium 是一個(gè)基于瀏覽器的自動(dòng)化工具,它提供了一種跨平臺(tái)、跨瀏覽器的端到端的web自動(dòng)化解決方案。Selenium主要包括三部分:Selenium IDE、Selenium WebDriver 和Selenium Grid: Selenium IDE:Firefox的一個(gè)擴(kuò)展,它可以進(jìn)行錄制回放,并可以把錄制的操作以多種語(yǔ)言(例

    2024年02月02日
    瀏覽(22)
  • WEB自動(dòng)化測(cè)試(selenium工具)框架、面試題

    WEB自動(dòng)化測(cè)試(selenium工具)框架、面試題

    ? ? ? ? ? ? 讓程序員代替人為去驗(yàn)證web項(xiàng)目功能的過(guò)程 ? ???1)需求變動(dòng)不頻繁 測(cè)試腳本的穩(wěn)定性決定了自動(dòng)化測(cè)試的維護(hù)成本。如果軟件需求變動(dòng)過(guò)于頻繁,測(cè)試人員需要根據(jù)變動(dòng)的需求來(lái)更新測(cè)試用例以及相關(guān)的測(cè)試腳本,而腳本的維護(hù)本身就是一個(gè)代碼開(kāi)發(fā)的過(guò)程,

    2024年02月03日
    瀏覽(32)
  • 基于Selenium+Python的web自動(dòng)化測(cè)試框架

    基于Selenium+Python的web自動(dòng)化測(cè)試框架

    一、什么是Selenium? Selenium是一個(gè)基于瀏覽器的自動(dòng)化測(cè)試工具,它提供了一種跨平臺(tái)、跨瀏覽器的端到端的web自動(dòng)化解決方案。Selenium主要包括三部分:Selenium IDE、Selenium WebDriver 和Selenium Grid。 Selenium IDE:Firefox的一個(gè)擴(kuò)展,它可以進(jìn)行錄制回放,并把錄制的操作以多種語(yǔ)言

    2024年02月02日
    瀏覽(105)
  • 一、搭建selenium web自動(dòng)化集成環(huán)境

    一、搭建selenium web自動(dòng)化集成環(huán)境

    一、安裝Python 下載地址:??https://www.python.org/downloads/?? 二、安裝selenium 1.由于使用的Mac,在無(wú)法卸載python2的情況下,進(jìn)入命令行輸入pip3 install selenium安裝selenium 2.在命令行輸入python3,進(jìn)入到python命令行界面,輸入from selenium import webdriver,如果沒(méi)有報(bào)錯(cuò)代表已經(jīng)安裝成功

    2024年02月01日
    瀏覽(23)
  • Selenium基于Python web自動(dòng)化測(cè)試框架 -- PO

    Selenium基于Python web自動(dòng)化測(cè)試框架 -- PO

    ??? 交流討論: 歡迎加入我們一起學(xué)習(xí)! ?? 資源分享 : 耗時(shí)200+小時(shí)精選的「軟件測(cè)試」資料包 ??? 教程推薦: 火遍全網(wǎng)的《軟件測(cè)試》教程?? ?? 歡迎點(diǎn)贊 ?? 收藏 ?留言 ?? 如有錯(cuò)誤敬請(qǐng)指正! 關(guān)于selenium測(cè)試框架首先想到的就是PO模型,簡(jiǎn)單說(shuō)下PO模型 PO模型的

    2024年02月22日
    瀏覽(27)

覺(jué)得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包