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

當前位置:首頁 > 科技  > 軟件

基于IntelliJ IDEA,輕松實現Selenium自動化測試

來源: 責編: 時間:2023-11-16 09:40:04 320觀看
導讀新手測試工程師剛開始接觸到各種大量的測試領域專業術語時通常會感到很困惑。本文內容將幫助新手測試工程師快速入門并理解這些術語的含義。文章提供示例和實際應用場景,以便讀者能夠更好地理解。在本文中,使用的以下環

新手測試工程師剛開始接觸到各種大量的測試領域專業術語時通常會感到很困惑。fXp28資訊網——每日最新資訊28at.com

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

在本文中,使用的以下環境:fXp28資訊網——每日最新資訊28at.com

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

1 基礎知識

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

這里的思路是加載特定的網頁,執行操作,并比較結果是否符合預期。當然,根據使用的平臺(如Windows、Mac或Linux),在設置環境方面可能會有一些變化。fXp28資訊網——每日最新資訊28at.com

典型的語法如下:fXp28資訊網——每日最新資訊28at.com

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

在網頁上的行動計劃大致情景:fXp28資訊網——每日最新資訊28at.com

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

2 測試自動化項目

自動化 formy-project.herokuapp.com/form上的Web表單自動化 formy-project.herokuapp.com/form上的Web表單fXp28資訊網——每日最新資訊28at.com

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

概述的腳本如下所示:fXp28資訊網——每日最新資訊28at.com

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

3 項目設置

設置項目和環境。fXp28資訊網——每日最新資訊28at.com

首先,需要下載并安裝IntelliJ IDEA。fXp28資訊網——每日最新資訊28at.com

在本地系統上安裝好之后,打開應用程序并創建一個新項目。fXp28資訊網——每日最新資訊28at.com

  • 點擊“創建新項目”
  • 在左側選擇“Maven”并點擊“下一步”

圖片圖片fXp28資訊網——每日最新資訊28at.com

在IntelliJ IDEA項目創建過程中選擇“Maven”fXp28資訊網——每日最新資訊28at.com

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

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

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

項目結構中pom.xml文件的位置項目結構中pom.xml文件的位置fXp28資訊網——每日最新資訊28at.com

在創建項目并打開pom.xml文件后,它的外觀將類似于以下內容:fXp28資訊網——每日最新資訊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

現在我們使用這個文件來添加可以用來自動化應用程序的額外庫。fXp28資訊網——每日最新資訊28at.com

以下是應該添加到項目中的行(用粗體突出顯示),以便能夠自動化Web應用程序:fXp28資訊網——每日最新資訊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

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

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

還有一些要注意的事項:fXp28資訊網——每日最新資訊28at.com

IDEA中下載的庫的外觀IDEA中下載的庫的外觀fXp28資訊網——每日最新資訊28at.com

  • 在添加這些庫后,請確保按照右側的按鈕下載這些庫(帶有“M”符號的按鈕)。您應該看到它開始下載這些庫。
  • 請確保檢查這些庫的最新版本,以避免以后出現任何問題。這是Selenium的Maven存儲庫鏈接。您可以輕松搜索所需的庫并將適當的版本添加到您的項目中。

已經準備好開始編寫代碼了。不過,先起草一下,然后再繼續。fXp28資訊網——每日最新資訊28at.com

4 起草代碼

通常,大多數WebDriver教程描述了需要執行的命令序列。我們暫時遵循這個模式,概述一下在這里為測試執行的操作:fXp28資訊網——每日最新資訊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();

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

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

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

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

讓我們回到項目并規劃項目結構。fXp28資訊網——每日最新資訊28at.com

創建項目結構

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

自動化測試的項目結構自動化測試的項目結構fXp28資訊網——每日最新資訊28at.com

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

以下是項目結構示例:fXp28資訊網——每日最新資訊28at.com

  • PageObject
  • TestPlan
  • Utils
  • WebForm

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

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

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

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

下一篇: C++編譯優化:如何優化編譯器的輸出代碼質量

標簽:
  • 熱門焦點
Top 主站蜘蛛池模板: 平原县| 三河市| 通许县| 丰宁| 凭祥市| 青浦区| 葫芦岛市| 桑植县| 广丰县| 满洲里市| 长武县| 延长县| 榆社县| 咸丰县| 红原县| 临沂市| 崇信县| 蒲江县| 彭阳县| 平度市| 康保县| 杨浦区| 荣昌县| 长阳| 喀喇沁旗| 辉县市| 丘北县| 吉木乃县| 吕梁市| 定远县| 天台县| 井冈山市| 达拉特旗| 夏河县| 轮台县| 宁强县| 舞阳县| 萍乡市| 渭源县| 定安县| 资溪县|