日韩成人免费在线_国产成人一二_精品国产免费人成电影在线观..._日本一区二区三区久久久久久久久不

當(dāng)前位置:首頁 > 科技  > 軟件

基于IntelliJ IDEA,輕松實現(xiàn)Selenium自動化測試

來源: 責(zé)編: 時間:2023-11-16 09:40:04 353觀看
導(dǎo)讀新手測試工程師剛開始接觸到各種大量的測試領(lǐng)域?qū)I(yè)術(shù)語時通常會感到很困惑。本文內(nèi)容將幫助新手測試工程師快速入門并理解這些術(shù)語的含義。文章提供示例和實際應(yīng)用場景,以便讀者能夠更好地理解。在本文中,使用的以下環(huán)

新手測試工程師剛開始接觸到各種大量的測試領(lǐng)域?qū)I(yè)術(shù)語時通常會感到很困惑。wIg28資訊網(wǎng)——每日最新資訊28at.com

本文內(nèi)容將幫助新手測試工程師快速入門并理解這些術(shù)語的含義。文章提供示例和實際應(yīng)用場景,以便讀者能夠更好地理解。wIg28資訊網(wǎng)——每日最新資訊28at.com

在本文中,使用的以下環(huán)境:wIg28資訊網(wǎng)——每日最新資訊28at.com

  • IDE: IntelliJ IDEA
  • 編程語言: Java
  • 瀏覽器和操作系統(tǒng): Mac 上的 Chrome
  • 自動化工具: WebDriver + chromedriver

1 基礎(chǔ)知識

Selenium WebDriver是一種工具,用于自動執(zhí)行手動瀏覽器工作流。它可以是你厭倦了多次填寫的簡單表格,也可以是驗證數(shù)百個網(wǎng)頁的復(fù)雜系統(tǒng)。wIg28資訊網(wǎng)——每日最新資訊28at.com

這里的思路是加載特定的網(wǎng)頁,執(zhí)行操作,并比較結(jié)果是否符合預(yù)期。當(dāng)然,根據(jù)使用的平臺(如Windows、Mac或Linux),在設(shè)置環(huán)境方面可能會有一些變化。wIg28資訊網(wǎng)——每日最新資訊28at.com

典型的語法如下:wIg28資訊網(wǎng)——每日最新資訊28at.com

  • 加載網(wǎng)址: driver.get("[網(wǎng)站URL]")
  • 查找元素: driver.findElement(By.id("[元素ID]"))
  • 發(fā)送按鍵: [元素].sendKeys("[要發(fā)送的按鍵]")
  • 執(zhí)行點擊: [元素].click()

在網(wǎng)頁上的行動計劃大致情景:wIg28資訊網(wǎng)——每日最新資訊28at.com

  • 加載網(wǎng)頁(網(wǎng)站的特定部分)
  • 找到要執(zhí)行操作的元素。有多種方法可以識別網(wǎng)頁上的元素。這些元素標(biāo)識符被稱為“定位器”。在本文中,將研究“XPath”和“id”定位器
  • 執(zhí)行操作。大多數(shù)情況下,這涉及發(fā)送特定的按鍵序列和/或點擊元素
  • 驗證狀態(tài)。這就是單元測試框架(如TestNG、JUnit)的威力所在。確保實際結(jié)果與預(yù)期結(jié)果相匹配

2 測試自動化項目

自動化 formy-project.herokuapp.com/form上的Web表單自動化 formy-project.herokuapp.com/form上的Web表單wIg28資訊網(wǎng)——每日最新資訊28at.com

通過輸入名字和姓氏并點擊提交按鈕來自動化一個簡單的Web表單。wIg28資訊網(wǎng)——每日最新資訊28at.com

概述的腳本如下所示:wIg28資訊網(wǎng)——每日最新資訊28at.com

  • 輸入用戶名
  • 輸入密碼
  • 點擊“提交”按鈕
  • 通過驗證確認(rèn)消息來驗證表單是否成功提交

3 項目設(shè)置

設(shè)置項目和環(huán)境。wIg28資訊網(wǎng)——每日最新資訊28at.com

首先,需要下載并安裝IntelliJ IDEA。wIg28資訊網(wǎng)——每日最新資訊28at.com

在本地系統(tǒng)上安裝好之后,打開應(yīng)用程序并創(chuàng)建一個新項目。wIg28資訊網(wǎng)——每日最新資訊28at.com

  • 點擊“創(chuàng)建新項目”
  • 在左側(cè)選擇“Maven”并點擊“下一步”

圖片圖片wIg28資訊網(wǎng)——每日最新資訊28at.com

在IntelliJ IDEA項目創(chuàng)建過程中選擇“Maven”wIg28資訊網(wǎng)——每日最新資訊28at.com

  • 為項目選擇任意名稱(例如“表單自動化”),然后點擊“完成”創(chuàng)建該項目

過了一會兒,應(yīng)該會有一個可以使用的模板。您可能會對Maven有疑問。wIg28資訊網(wǎng)——每日最新資訊28at.com

Maven是一個構(gòu)建自動化工具,主要用于Java項目。使用它來向項目添加額外的庫。wIg28資訊網(wǎng)——每日最新資訊28at.com

項目結(jié)構(gòu)中pom.xml文件的位置項目結(jié)構(gòu)中pom.xml文件的位置wIg28資訊網(wǎng)——每日最新資訊28at.com

在創(chuàng)建項目并打開pom.xml文件后,它的外觀將類似于以下內(nèi)容:wIg28資訊網(wǎng)——每日最新資訊28at.com

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"         xsi:schemaLocatinotallow="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">    4.0.0    org.example    Form Automation    1.0-SNAPSHOT

現(xiàn)在我們使用這個文件來添加可以用來自動化應(yīng)用程序的額外庫。wIg28資訊網(wǎng)——每日最新資訊28at.com

以下是應(yīng)該添加到項目中的行(用粗體突出顯示),以便能夠自動化Web應(yīng)用程序:wIg28資訊網(wǎng)——每日最新資訊28at.com

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"         xsi:schemaLocatinotallow="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">    4.0.0    org.nomadicdmitry    Form Automation    1.0-SNAPSHOT                    org.seleniumhq.selenium        selenium-server        3.141.59                org.testng        testng        7.1.0        test                org.apache.maven.plugins        maven-surefire-plugin        3.0.0-M4

添加這些行后,幾乎擁有了在項目中使用的所有必要庫。具體來說:wIg28資訊網(wǎng)——每日最新資訊28at.com

  • Selenium WebDriver:org.seleniumhq.selenium
  • TestNG(單元測試框架):org.testng
  • Maven SureFire(簡單的測試計劃執(zhí)行):org.apache.maven.plugins

還有一些要注意的事項:wIg28資訊網(wǎng)——每日最新資訊28at.com

IDEA中下載的庫的外觀IDEA中下載的庫的外觀wIg28資訊網(wǎng)——每日最新資訊28at.com

  • 在添加這些庫后,請確保按照右側(cè)的按鈕下載這些庫(帶有“M”符號的按鈕)。您應(yīng)該看到它開始下載這些庫。
  • 請確保檢查這些庫的最新版本,以避免以后出現(xiàn)任何問題。這是Selenium的Maven存儲庫鏈接。您可以輕松搜索所需的庫并將適當(dāng)?shù)陌姹咎砑拥侥捻椖恐小?/li>

已經(jīng)準(zhǔn)備好開始編寫代碼了。不過,先起草一下,然后再繼續(xù)。wIg28資訊網(wǎng)——每日最新資訊28at.com

4 起草代碼

通常,大多數(shù)WebDriver教程描述了需要執(zhí)行的命令序列。我們暫時遵循這個模式,概述一下在這里為測試執(zhí)行的操作:wIg28資訊網(wǎng)——每日最新資訊28at.com

System.setProperty("webdriver.chrome.driver", "chromedriver");WebDriver driver = new ChromeDriver();driver.get(https://formy-project.herokuapp.com/form);driver.findElement(By.id("first-name")).sendKeys("名字");driver.findElement(By.id("last-name")).sendKeys("姓氏");driver.findElement(By.xpath("http://a[contains(text(),'提交')]")).click();driver.close();

只用七行代碼就能實現(xiàn)自動化填寫網(wǎng)頁表單的工作解決方案。為了澄清一下,第一行顯示了chromedriver的位置(因為在Chrome上執(zhí)行此腳本),第二行創(chuàng)建了一個后續(xù)要使用的WebDriver實例。wIg28資訊網(wǎng)——每日最新資訊28at.com

接下來的幾行很容易分析,因為只是加載頁面并使用定位器執(zhí)行操作。這段代碼將正常工作并執(zhí)行必要的操作(除了稍后要討論的斷言部分)。wIg28資訊網(wǎng)——每日最新資訊28at.com

然而,這段代碼有什么問題呢?問題在于它與在真實環(huán)境中的實際使用方式相去甚遠(yuǎn),原因如下:wIg28資訊網(wǎng)——每日最新資訊28at.com

  • 如果我們決定在其他地方使用它,它不可重用并帶來重復(fù)的代碼
  • 如果我們多次調(diào)用這些定位器,更改每行的定位器將很困難,難以維護(hù)
  • 隨著添加更多測試,它將變得難以閱讀和理解

讓我們回到項目并規(guī)劃項目結(jié)構(gòu)。wIg28資訊網(wǎng)——每日最新資訊28at.com

創(chuàng)建項目結(jié)構(gòu)

使用PageObject方法作為設(shè)計測試的基礎(chǔ)。在Java類的術(shù)語中,這意味著將為每個網(wǎng)頁創(chuàng)建一個類,并概述定位器和執(zhí)行操作的方法。此外,還將創(chuàng)建一個“父”類,從中繼承我們的對象(頁面)。wIg28資訊網(wǎng)——每日最新資訊28at.com

自動化測試的項目結(jié)構(gòu)自動化測試的項目結(jié)構(gòu)wIg28資訊網(wǎng)——每日最新資訊28at.com

此外,還需要一個類,用于將所有類連接起來,并具有存儲配置設(shè)置的變量。wIg28資訊網(wǎng)——每日最新資訊28at.com

以下是項目結(jié)構(gòu)示例:wIg28資訊網(wǎng)——每日最新資訊28at.com

  • PageObject
  • TestPlan
  • Utils
  • WebForm

繼續(xù)在項目中創(chuàng)建這四個類。請打開“[項目]/src/test/”,右鍵單擊“test”文件夾。選擇“New -> Java Class”,并相應(yīng)地創(chuàng)建這些類。wIg28資訊網(wǎng)——每日最新資訊28at.com

本文鏈接:http://www.www897cc.com/showinfo-26-26567-0.html基于IntelliJ IDEA,輕松實現(xiàn)Selenium自動化測試

聲明:本網(wǎng)頁內(nèi)容旨在傳播知識,若有侵權(quán)等問題請及時與本網(wǎng)聯(lián)系,我們將在第一時間刪除處理。郵件:2376512515@qq.com

上一篇: 15個必知Pandas代碼片段,助你精通數(shù)據(jù)分析

下一篇: C++編譯優(yōu)化:如何優(yōu)化編譯器的輸出代碼質(zhì)量

標(biāo)簽:
  • 熱門焦點
  • 影音體驗是真的強 簡單聊聊iQOO Pad

    大公司的好處就是產(chǎn)品線豐富,非常細(xì)分化的東西也能給你做出來,例如早先我們看到了新的vivo Pad2,之后我們又在iQOO Neo8 Pro的發(fā)布會上看到了iQOO的首款平板產(chǎn)品iQOO Pad。雖
  • 容量越大越不壞?24萬塊硬盤故障率報告公布 這些產(chǎn)品零故障

    8月5日消息,云存儲服務(wù)商Backblaze發(fā)布了最新的硬盤故障率報告,年故障率有所上升。Backblaze發(fā)布的硬盤季度統(tǒng)計數(shù)據(jù),其中包括故障率等重要方面。這些結(jié)
  • 掘力計劃第 20 期:Flutter 混合開發(fā)的混亂之治

    在掘力計劃系列活動第20場,《Flutter 開發(fā)實戰(zhàn)詳解》作者,掘金優(yōu)秀作者,Github GSY 系列目負(fù)責(zé)人戀貓的小郭分享了Flutter 混合開發(fā)的混亂之治。Flutter 基于自研的 Skia 引擎
  • 如何使用JavaScript創(chuàng)建一只圖像放大鏡?

    譯者 | 布加迪審校 | 重樓如果您曾經(jīng)瀏覽過購物網(wǎng)站,可能遇到過圖像放大功能。它可以讓您放大圖像的特定區(qū)域,以便瀏覽。結(jié)合這個小小的重要功能可以大大改善您網(wǎng)站的用戶體驗
  • 這款新興工具平臺,讓你的電腦效率翻倍

    隨著信息技術(shù)的發(fā)展,我們獲取信息的渠道越來越多,但是處理信息的效率卻成為一個瓶頸。于是各種工具應(yīng)運而生,都在爭相解決我們的工作效率問題。今天我要給大家介紹一款效率
  • 騰訊蓋樓,字節(jié)拆墻

    來源 | 光子星球撰文 | 吳坤諺編輯 | 吳先之“想重溫暴刷深淵、30+技能搭配暴搓到爽的游戲體驗嗎?一起上晶核,即刻暴打!”曾憑借直播騰訊旗下代理格斗游戲《DNF》一
  • 品牌洞察丨服務(wù)本地,美團(tuán)直播成效幾何?

    來源:17PR7月11日,美團(tuán)App首頁推薦位出現(xiàn)“美團(tuán)直播”的固定入口。在直播聚合頁面,外賣“神槍手”直播間、美團(tuán)旅行直播間、美團(tuán)買菜直播間等均已上線,同時
  • 阿里瓴羊One推出背后,零售企業(yè)迎數(shù)字化新解

    作者:劉曠近年來隨著數(shù)字經(jīng)濟(jì)的高速發(fā)展,各式各樣的SaaS應(yīng)用服務(wù)更是層出不窮,但本質(zhì)上SaaS大多局限于單一業(yè)務(wù)流層面,對用戶核心關(guān)切的增長問題等則沒有提供更好的解法。在Saa
  • iQOO Neo8 Pro評測:旗艦雙芯加持 最強性能游戲旗艦

    【Techweb評測】去年10月,iQOO推出了一款Neo7手機,該機搭載了聯(lián)發(fā)科天璣9000+,配備獨顯芯片Pro+,帶來了同價位段最佳的游戲體驗,一經(jīng)上市便受到了諸多用
Top 主站蜘蛛池模板: 特克斯县| 河西区| 长葛市| 平阴县| 敦化市| 平潭县| 德化县| 南陵县| 合阳县| 荣昌县| 鄂托克前旗| 牙克石市| 库车县| 巨野县| 丽江市| 五莲县| 晴隆县| 阿拉善盟| 塔河县| 郁南县| 永昌县| 乌兰察布市| 原阳县| 千阳县| 深水埗区| 大荔县| 萨嘎县| 宾川县| 寻乌县| 诸暨市| 浮山县| 泽州县| 土默特右旗| 林芝县| 含山县| 裕民县| 绥化市| 思茅市| 调兵山市| 嘉善县| 平湖市|