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

軟件測(cè)試 | 測(cè)試開發(fā) | Django+Celery框架自動(dòng)化定時(shí)任務(wù)開發(fā)

這篇具有很好參考價(jià)值的文章主要介紹了軟件測(cè)試 | 測(cè)試開發(fā) | Django+Celery框架自動(dòng)化定時(shí)任務(wù)開發(fā)。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

** 本章介紹使用DjCelery即Django+Celery框架開發(fā)定時(shí)任務(wù)功能,在Autotestplat平臺(tái)上實(shí)現(xiàn)單一接口自動(dòng)化測(cè)試腳本、業(yè)務(wù)場(chǎng)景接口自動(dòng)化測(cè)試腳本、App自動(dòng)化測(cè)試腳本、Web自動(dòng)化測(cè)試腳本等任務(wù)的定時(shí)執(zhí)行、調(diào)度、管理等,從而取代Jenkins上的定時(shí)執(zhí)行腳本和發(fā)送郵件等功能。**

自動(dòng)化測(cè)試邏輯流程圖11.1所示。

軟件測(cè)試 | 測(cè)試開發(fā) | Django+Celery框架自動(dòng)化定時(shí)任務(wù)開發(fā)

▲圖11.1

11.1 環(huán)境搭建

1.安裝

步驟1 安裝Celery。pyramid_celery-3.0.0,

配置https://pypi.python.org/pypi/pyramid_celery/。

步驟2 安裝django-clery。django-celery-3.2.2,

配置https://pypi.python.org/pypi/django- celery。

     INSTALLED_APPS= []

加入2:

'djcelery',

           運(yùn)行 Python manage.py migrate

步驟 3 安裝celery-with-redis-3.0,

地址為https://pypi.python.org/pypi/celery-with-redis/。

步驟 4 安裝django-clery-beat。django-celery-beat-1.1.0,

https://pypi.python.org/pypi/ django_celery_beat。

步驟5 下載Redis-x64-3.2.100,

Redis-x64-3.2.100.zip?https://github.com/MicrosoftArchive/redis/releases。

2.配置

步驟1 在Settings.py中增加如下內(nèi)容。

加入1:

import djcelery

djcelery.setup_loader() #加載djcelery

加入2:

#數(shù)據(jù)庫調(diào)度

CELERYBEAT_SCHEDULER =‘djcelery.schedulers.DatabaseScheduler’

加入3:

BROKER_URL = ‘redis://127.0.0.1:6379/0’

BROKER_TRANSPORT = ‘redis’

步驟2 在應(yīng)用Apitest目錄下新建celery.py文件1,加入如下內(nèi)容。

from?future?import absolute_import

import os

import django

from celery import Celery

from django.conf import settings

os.environ.setdefault(‘DJANGO_SETTINGS_MODULE’,‘a(chǎn)utotest.settings’)

django.setup()

app = Celery(‘a(chǎn)utotest’)

app.config_from_object(‘django.conf:settings’)

app.autodiscover_tasks(lambda:settings.INSTALLED_APPS)

步驟3 新建tasks.py文件,加入如下內(nèi)容。

--coding:utf-8 --

importrequests, time, sys, re

importurllib, zlib#,

importpymysql

importunittest

from traceimport CoverageResults

importjson

fromidlelib.rpc import response_queue

fromapitest.celery import app

from timeimport sleep

@app.task

def hello_world():

print('已運(yùn)行')

步驟4 啟動(dòng)服務(wù)python manage.py runserver。

步驟5 解壓縮后,運(yùn)行CMD,切換到相應(yīng)目錄,輸入啟動(dòng)Redis指令redis-server redis. windows.conf,成功后出現(xiàn)如圖11.2所示界面。

軟件測(cè)試 | 測(cè)試開發(fā) | Django+Celery框架自動(dòng)化定時(shí)任務(wù)開發(fā)

▲圖11.2

步驟6 啟動(dòng)指令python manage.py celery worker -l info。

步驟7 啟動(dòng)指令python manage.py celery beat。

11.2 前端功能實(shí)現(xiàn)

1.功能描述

完成實(shí)現(xiàn)單一接口測(cè)試用例、業(yè)務(wù)場(chǎng)景接口API測(cè)試用例、AppUI測(cè)試用例、WebUI測(cè)試用例的自動(dòng)化定時(shí)任務(wù)。

2.程序清單

在autotest\apitest\templates目錄下新建periodic_task.html文件,加入如下內(nèi)容。

<html>

<head>

{% load bootstrap4 %}

{% bootstrap_css %}

{% bootstrap_javascript %}

<title>產(chǎn)品自動(dòng)化測(cè)試平臺(tái)</title>

<link rel=“stylesheet"type=“text/css” href=”/static/admin/css/forms.css" />

<script type=“text/javascript"src=”/admin/jsi18n/"></script>

<script type=“text/javascript"src=”/static/admin/js/vendor/jquery/jquery.js"></script>

<script type=“text/javascript"src=”/static/admin/js/jquery.init.js"></script>

<script type=“text/javascript"src=”/static/admin/js/core.js"></script>

<script type=“text/javascript"src=”/static/admin/js/admin/RelatedObjectLookups.js"></script>

<script type=“text/javascript"src=”/static/admin/js/actions.js"></script>

<script type=“text/javascript"src=”/static/admin/js/urlify.js"></script>

<script type=“text/javascript"src=”/static/admin/js/prepopulate.js"></script>

<script type=“text/javascript"src=”/static/admin/js/vendor/xregexp/xregexp.js"></script>

<meta name="viewport"content=“user-scalable=no, width=device-width, initial-scale=1.0,maximum-scale=1.0”>

<link rel=“stylesheet"type=“text/css” href=”/static/admin/css/responsive.css"/>

<meta name="robots"content=“NONE,NOARCHIVE” />

</head>

<body role=“document”>

<!-- 導(dǎo)航欄–>

<nav class=“navbar navbar-expand-smbg-dark navbar-dark fixed-top”>

<div>

<ahref="#">&nbsp;</a>

<ul>

</ul>

<ul>

<li><astyle=‘color:white’ href="#"></a></li>

<li><astyle=‘color:white’ href="/logout/"></a></li>

</ul>

</div>

</nav>

<!-- 搜索欄–>

<divstyle=“padding-top: 70px;”>

<formmethod=“get” action="/tasksearch/">

{% csrf_token %}

<input type="search"name=“task” placeholder=“名稱” required>

<button type=“submit”>搜索</button>

<!-- 增加定時(shí)任務(wù)–>

<div style=“float:right;width:73%”>

<select name="PeriodicTask"id=“PeriodicTask”>

<option value="" selected>----定時(shí)任務(wù)----</option>

</select>

<a id=“change_id_PeriodicTask"data-href-template=”/admin/djcelery/periodictask/fk/change/?_to_field=id&amp;_popup=1"title=“更改選中的定時(shí)任務(wù)”>

<imgsrc="/static/admin/img/icon-changelink.svg" alt=“修改”/>

</a>

<a style=‘color:light blue’ id=“add_id_PeriodicTask” href="/admin/djcelery/periodictask/add/?_to_field=id&amp;_popup=1"title=“增加另一個(gè)測(cè)試用例”>

<imgsrc="/static/admin/img/icon-addlink.svg" alt=“增加”/>增加

</a>

</form>

</div>

<!-- 任務(wù)計(jì)劃列表–>

<divstyle=“padding-top: 20px;”>

<div>

<table class=“table table-striped”>

<thead>

<tr>

<th>ID</th><th>任務(wù)名稱</th><th>任務(wù)模塊</th><th>時(shí)間計(jì)劃</th><th>修改時(shí)間</th><th>開啟</th><th>立即</th><th>編輯</th><th>刪除</th>

</tr>

</thead>

<tbody>

{% for task in tasks %}{% for periodic inperiodics %}

<tr>

{% if task.interval_id != null andtask.interval_id == periodic.id %}

<td>{{ task.id }}</td>

<td>{{ task.name }}</td>

<td>{{ task.task }}</td>

<td><a style=‘color:green’>每{{ periodic.period }} {{ periodic.every}}次</a></td>

<td>{{ task.date_changed }}</td>

<td>{{ task.enabled }}</td>

<td>{% if task.id == 1 %}

<a href="…/task_apis"target=“mainFrame”>運(yùn)行</a>

{% elif task.id == 2 %}

<a href="…/task_apitest"target=“mainFrame”>運(yùn)行</a>

{% else %}

{% endif %}

</td>

<td><a style='color:light blue’class=“related-widget-wrapper-link add-related"id=“add_id_Apitest” href=”…/admin/djcelery/periodictask/{{task.id }}/change/?_to_field=id&_popup=1"><imgsrc="/static/admin/img/icon-changelink.svg"/></a></td>

<td><a style='color:light blue’class=“related-widget-wrapper-link add-related” id=“add_id_Apitest"href=”…/admin/djcelery/periodictask/{{ task.id}}/delete/?_to_field=id&_popup=1"><imgsrc="/static/admin/img/icon-deletelink.svg"/></a></td>

{% else %}

{% endif %}

{% for crontab in crontabs %}

{% if task.crontab_id != null and task.crontab_id ==crontab.id and task.interval_id == 1 %}

<td>{{ task.id }}</td>

<td>{{ task.name }}</td>

<td>{{ task.task }}</td>

<td><a style=‘color:green’>{{crontab.month_of_year }}年{{crontab.day_of_month }}月{{crontab.day_of_week }}日{(diào){crontab.hour }}時(shí){{ crontab.minute}}分</a></td>

<td>{{ task.date_changed }}</td>

<td>{{ task.enabled }}</td>

<td><a href="…/task_apis"target=“mainFrame”>運(yùn)行</a></td>

<td><a style='color:light blue’class=“related-widget-wrapper-link add-related"id=“add_id_Apitest” href=”…/admin/djcelery/periodictask/{{task.id }}/change/?_to_field=id&_popup=1"><imgsrc="/static/admin/img/icon-changelink.svg"/></a></td>

<td><a style='color:light blue’class=“related-widget-wrapper-link add-related"id=“add_id_Apitest” href=”…/admin/djcelery/periodictask/{{task.id }}/delete/?_to_field=id&_popup=1"><imgsrc="/static/admin/img/icon-deletelink.svg"/></a></td>

{% else %}

{% endif %}

{% endfor %}{% endfor %}{% endfor %}

</tbody>

</table>

</div>

</div>

<span style=“position:absolute;right:100px; bottom:30px;”> {# 把翻頁功能固定顯示在右下角#}

<div style="position:absolute; right:100px; width:100px; ">

<tr><th>總數(shù)</th><td>{{ taskcounts }}</td></tr> {# 前端讀取定義的變量#}

</div>

<div>

&lt;ulclass="pagination" id="pager"&gt;

      {#上一頁鏈接開始#}

    {%if tasks.has_previous %}

       {#  如果有上一頁,則正常顯示上一頁鏈接#}

       &lt;li&gt;&lt;ahref="/periodic_task/?page={{ tasks.previous_page_number }}"&gt;上一頁&lt;/a&gt;&lt;/li&gt;    {#  上一頁標(biāo)簽 #}

    {%else %}

       &lt;li class="previous disabled"&gt;&lt;ahref="#"&gt;上一頁&lt;/a&gt;&lt;/li&gt;{# 如果當(dāng)前不存在上一頁,則上一頁的鏈接不可單擊#}

    {%endif %}

    {# 上一頁鏈接開始#}

   

    {%for num in tasks.paginator.page_range %}

    

       {% if num == currentPage %}

            &lt;li&gt;&lt;a href="/periodic_task/?page={{ num }}"&gt;{{ num}}&lt;/a&gt;&lt;/li&gt; {#顯示當(dāng)前頁數(shù)鏈接#}

        {% else %}

            &lt;liclass="item"&gt;&lt;a href="/periodic_task/?page={{ num}}"&gt;{{ num }}&lt;/a&gt;&lt;/li&gt;

        {% endif %}

    {% endfor %}

   

    {# 下一頁鏈接開始#}

    {% if tasks.has_next %} {#  如果有下一頁,則正常顯示下一頁鏈接#}

        &lt;liclass="next"&gt;&lt;a href="/periodic_task/?page={{tasks.next_page_number }}"&gt;下一頁&lt;/a&gt;&lt;/li&gt;

    {% else %}

        &lt;li&gt;&lt;a href="#"&gt;下一頁&lt;/a&gt;&lt;/li&gt;

    {% endif %}

    {# 下一頁鏈接結(jié)束#}

&lt;/ul&gt;

</div>

</body>

</html>

功能描述:實(shí)現(xiàn)自動(dòng)化測(cè)試任務(wù)調(diào)度執(zhí)行,包括單一接口、掃描、流程接口、業(yè)務(wù)場(chǎng)景、Web搜索、自動(dòng)化平臺(tái)測(cè)試開發(fā)、App登錄,CSDN定時(shí)任務(wù)注冊(cè),定時(shí)任務(wù)執(zhí)行等功能。

程序清單:在apitest/views.py中加入如下內(nèi)容。

from .tasks importhello_world

from .tasks importtest_readSQLcase

from djcelery.modelsimport PeriodicTask,CrontabSchedule,IntervalSchedule

任務(wù)計(jì)劃

@login_required

defperiodic_task(request):

username = request.session.get('user', '')

task_list = PeriodicTask.objects.all()

task_count =PeriodicTask.objects.all().count()  #統(tǒng)計(jì)數(shù)

periodic_list =IntervalSchedule.objects.all()  # 周期任務(wù)(如每隔1小時(shí)執(zhí)行1次)

crontab_list =CrontabSchedule.objects.all()    # 定時(shí)任務(wù)(如某年某月某日的某時(shí),每# 天的某時(shí))

paginator = Paginator(task_list, 5)  #生成paginator對(duì)象,設(shè)置每頁顯示5條記錄

page = request.GET.get('page',1)  #獲取當(dāng)前的頁碼數(shù),默認(rèn)為第1頁

currentPage=int(page)  #把獲取的當(dāng)前頁碼數(shù)轉(zhuǎn)換成整數(shù)類型

try:

    task_list = paginator.page(page)#獲取當(dāng)前頁碼數(shù)的記錄列表

except PageNotAnInteger:

    task_list = paginator.page(1)#如果輸入的頁數(shù)不是整數(shù),則顯示第1頁內(nèi)容

except EmptyPage:

    task_list =paginator.page(paginator.num_pages)#如果輸入的頁數(shù)不在系統(tǒng)的頁數(shù)中,# 則顯示最后一頁內(nèi)容

return render(request,"periodic_task.html", {"user": username,"tasks":task_list,"taskcounts": task_count, "periodics":periodic_list,"crontabs": crontab_list })

搜索功能

@login_required

deftasksearch(request):

username = request.session.get('user', '')# 讀取瀏覽器登錄Session

search_name =request.GET.get("task", "")

task_list = PeriodicTask.objects.filter(task__icontains=search_name)

periodic_list =IntervalSchedule.objects.all()  # 周期任務(wù)(如每隔1小時(shí)執(zhí)行1次)

crontab_list =CrontabSchedule.objects.all()    # 定時(shí)任務(wù)(如某年某月某日的某時(shí),每# 天的某時(shí))

return render(request,'periodic_task.html',{"user": username,"tasks":task_list,"periodics":periodic_list,"crontabs": crontab_list })

在autotest/urls.py中加入:

path(‘periodic_task/’,views.periodic_task),

path('tasksearch/', views.tasksearch),

在apitest/left.html中加入:

<tr> <td>

&lt;li&gt;

                    &lt;a  href="../periodic_task"target="mainFrame"&gt;

                        &lt;iclass="glyphicon glyphicon-fire"&gt;&lt;/i&gt;

                       任務(wù)計(jì)劃       

                    &lt;/a&gt;

                &lt;/li&gt;

</tr> </td>

&lt;tr&gt;&lt;td&gt;&amp;nbsp;&lt;/td&gt;&lt;/tr&gt;

查看前端頁面效果,如圖11.3所示。

軟件測(cè)試 | 測(cè)試開發(fā) | Django+Celery框架自動(dòng)化定時(shí)任務(wù)開發(fā)文章來源地址http://www.zghlxwxcb.cn/news/detail-402227.html

到了這里,關(guān)于軟件測(cè)試 | 測(cè)試開發(fā) | Django+Celery框架自動(dòng)化定時(shí)任務(wù)開發(fā)的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(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)文章

  • 軟件測(cè)試/測(cè)試開發(fā)丨UI自動(dòng)化測(cè)試用例結(jié)構(gòu)分析

    本文為霍格沃茲測(cè)試開發(fā)學(xué)社學(xué)員學(xué)習(xí)筆記分享 原文鏈接:https://ceshiren.com/t/topic/26899 用例標(biāo)題 搜狗搜索功能 前提條件 進(jìn)入搜狗首頁 用例步驟 1、輸入;2、點(diǎn)擊搜索 預(yù)期結(jié)果 1、搜索成功;2、搜索結(jié)果中包含 實(shí)際結(jié)果 自動(dòng)化測(cè)試用例 作用 用例標(biāo)題 測(cè)試包、

    2024年02月10日
    瀏覽(28)
  • 軟件測(cè)試/測(cè)試開發(fā)丨Selenium Web自動(dòng)化測(cè)試基本操作

    本文為霍格沃茲測(cè)試開發(fā)學(xué)社學(xué)員學(xué)習(xí)筆記分享 原文鏈接:https://ceshiren.com/t/topic/26901 模擬功能測(cè)試中對(duì)瀏覽器的操作 get方法打開瀏覽器 refresh方法刷新頁面 用back方法回退到上一個(gè)界面 maximize_window方法使窗口最大化 minimize_window方法使窗口最小化 標(biāo)簽: a 屬性:href 類屬性

    2024年02月10日
    瀏覽(30)
  • 軟件測(cè)試/測(cè)試開發(fā)丨Selenium Web自動(dòng)化測(cè)試 高級(jí)控件交互方法

    本文為霍格沃茲測(cè)試開發(fā)學(xué)社學(xué)員學(xué)習(xí)筆記分享 原文鏈接:https://ceshiren.com/t/topic/27045 使用場(chǎng)景 對(duì)應(yīng)事件 復(fù)制粘貼 鍵盤事件 拖動(dòng)元素到某個(gè)位置 鼠標(biāo)事件 鼠標(biāo)懸停 鼠標(biāo)事件 滾動(dòng)到某個(gè)元素 滾動(dòng)事件 使用觸控筆點(diǎn)擊 觸控筆事件(了解即可) https://www.selenium.dev/documentati

    2024年02月09日
    瀏覽(62)
  • 軟件測(cè)試/測(cè)試開發(fā)丨Web自動(dòng)化 PageObject設(shè)計(jì)模式

    軟件測(cè)試/測(cè)試開發(fā)丨Web自動(dòng)化 PageObject設(shè)計(jì)模式

    本文為霍格沃茲測(cè)試開發(fā)學(xué)社學(xué)員學(xué)習(xí)筆記分享 原文鏈接:https://ceshiren.com/t/topic/27167 馬丁福勒個(gè)人博客 selenium 官網(wǎng) 無法適應(yīng) UI 頻繁變化 無法清晰表達(dá)業(yè)務(wù)用例場(chǎng)景 大量的樣板代碼 driver/find/click 降低 UI 變化導(dǎo)致的測(cè)試用例脆弱性問題 讓用例清晰明朗,與具體實(shí)現(xiàn)無關(guān) 字

    2024年02月10日
    瀏覽(26)
  • 軟件測(cè)試/測(cè)試開發(fā)丨Selenium Web自動(dòng)化多瀏覽器處理

    軟件測(cè)試/測(cè)試開發(fā)丨Selenium Web自動(dòng)化多瀏覽器處理

    本文為霍格沃茲測(cè)試開發(fā)學(xué)社學(xué)員學(xué)習(xí)筆記分享 原文鏈接:https://ceshiren.com/t/topic/27185 用戶使用的瀏覽器(firefox,chrome,IE 等) web 應(yīng)用應(yīng)該能在任何瀏覽器上正常的工作,這樣能吸引更多的用戶來使用 是跨不同瀏覽器組合驗(yàn)證網(wǎng)站或 web 應(yīng)用程序功能的過程 是兼容性測(cè)試的一個(gè)

    2024年02月09日
    瀏覽(27)
  • 軟件測(cè)試/測(cè)試開發(fā)/全日制/測(cè)試管理丨Web測(cè)試框架Selenium

    軟件測(cè)試/測(cè)試開發(fā)/全日制/測(cè)試管理丨Web測(cè)試框架Selenium

    Selenium是一個(gè)用于自動(dòng)化Web應(yīng)用程序測(cè)試的開源框架,具有許多特點(diǎn)和優(yōu)勢(shì),使其成為最受歡迎的Web自動(dòng)化測(cè)試工具之一,是許多團(tuán)隊(duì)首選的Web自動(dòng)化測(cè)試工具之一。 Selenium框架的特點(diǎn)包括: 跨瀏覽器支持: ?Selenium支持多種瀏覽器,包括Chrome、Firefox、Edge、Safari等,使測(cè)試在

    2024年01月16日
    瀏覽(33)
  • Java開發(fā)手冊(cè)之單元測(cè)試,軟件測(cè)試端簡(jiǎn)單易用的SPI框架

    Java開發(fā)手冊(cè)之單元測(cè)試,軟件測(cè)試端簡(jiǎn)單易用的SPI框架

    【推薦】編寫單元測(cè)試代碼遵守 BCDE 原則,以保證被測(cè)試模塊的交付質(zhì)量。 B:Border,邊界值測(cè)試,包括循環(huán)邊界、特殊取值、特殊時(shí)間點(diǎn)、數(shù)據(jù)順序等。 C:Correct,正確的輸入,并得到預(yù)期的結(jié)果。 D:Design,與設(shè)計(jì)文檔相結(jié)合,來編寫單元測(cè)試。 E:Error,強(qiáng)制錯(cuò)誤信息輸

    2024年04月25日
    瀏覽(39)
  • 軟件測(cè)試:功能測(cè)試-接口測(cè)試-自動(dòng)化測(cè)試-性能測(cè)試-驗(yàn)收測(cè)試

    軟件測(cè)試:功能測(cè)試-接口測(cè)試-自動(dòng)化測(cè)試-性能測(cè)試-驗(yàn)收測(cè)試

    軟件測(cè)試的主要流程 一、測(cè)試主要的四個(gè)階段 1.測(cè)試計(jì)劃設(shè)計(jì)階段 :產(chǎn)品立項(xiàng)之后,進(jìn)行需求分析,需求評(píng)審,業(yè)務(wù)需求評(píng)級(jí),繪制業(yè)務(wù)流程圖。確定測(cè)試負(fù)責(zé)人,開始制定測(cè)試計(jì)劃; 2.測(cè)試準(zhǔn)備階段 :各成員編寫測(cè)試用例、先小組內(nèi)評(píng)審、后會(huì)議評(píng)審,測(cè)試樣機(jī)和配件,

    2024年02月08日
    瀏覽(33)
  • 【軟件測(cè)試】自動(dòng)化測(cè)試selenium

    【軟件測(cè)試】自動(dòng)化測(cè)試selenium

    目錄 一、什么是自動(dòng)化測(cè)試 二、Selenium介紹 1、Selenium是什么 2、Selenium的原理 三、了解Selenium的常用API 1、webDriver API?? 1.1、元素定位 1.1.1、CSS選擇器 1.1.2、Xpath元素定位 1.1.3、面試題 ?1.2、操作測(cè)試對(duì)象 1.3、添加等待? 1.4、打印信息 ?1.5、瀏覽器的操作 1.6、鍵盤事件 1.7、鼠

    2024年01月17日
    瀏覽(26)
  • 軟件測(cè)試 -- 自動(dòng)化測(cè)試(Selenium)

    ????????在這里記錄一下? 自動(dòng)化測(cè)試 -- Selenium 的一些基礎(chǔ)知識(shí)點(diǎn),只記錄方法。 Selenium 瀏覽器操作 Selenium 元素定位(包含 Web 表單) findElement 和 findElements ????????findElement 和 findElements 都可以用于定位元素,它們都需要傳入一個(gè) By 類型,但是他們的返回值不同,區(qū)

    2024年04月22日
    瀏覽(55)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

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

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

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包