成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

基于IntelliJ IDEA,輕松實(shí)現(xiàn)Selenium自動(dòng)化測(cè)試

開(kāi)發(fā) 前端
本文內(nèi)容將幫助新手測(cè)試工程師快速入門(mén)并理解這些術(shù)語(yǔ)的含義。文章提供示例和實(shí)際應(yīng)用場(chǎng)景,以便讀者能夠更好地理解。

新手測(cè)試工程師剛開(kāi)始接觸到各種大量的測(cè)試領(lǐng)域?qū)I(yè)術(shù)語(yǔ)時(shí)通常會(huì)感到很困惑。

本文內(nèi)容將幫助新手測(cè)試工程師快速入門(mén)并理解這些術(shù)語(yǔ)的含義。文章提供示例和實(shí)際應(yīng)用場(chǎng)景,以便讀者能夠更好地理解。

在本文中,使用的以下環(huán)境:

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

1 基礎(chǔ)知識(shí)

Selenium WebDriver是一種工具,用于自動(dòng)執(zhí)行手動(dòng)瀏覽器工作流。它可以是你厭倦了多次填寫(xiě)的簡(jiǎn)單表格,也可以是驗(yàn)證數(shù)百個(gè)網(wǎng)頁(yè)的復(fù)雜系統(tǒng)。

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

典型的語(yǔ)法如下:

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

在網(wǎng)頁(yè)上的行動(dòng)計(jì)劃大致情景:

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

2 測(cè)試自動(dòng)化項(xiàng)目

自動(dòng)化 formy-project.herokuapp.com/form上的Web表單自動(dòng)化 formy-project.herokuapp.com/form上的Web表單

通過(guò)輸入名字和姓氏并點(diǎn)擊提交按鈕來(lái)自動(dòng)化一個(gè)簡(jiǎn)單的Web表單。

概述的腳本如下所示:

  • 輸入用戶(hù)名
  • 輸入密碼
  • 點(diǎn)擊“提交”按鈕
  • 通過(guò)驗(yàn)證確認(rèn)消息來(lái)驗(yàn)證表單是否成功提交

3 項(xiàng)目設(shè)置

設(shè)置項(xiàng)目和環(huán)境。

首先,需要下載并安裝IntelliJ IDEA。

在本地系統(tǒng)上安裝好之后,打開(kāi)應(yīng)用程序并創(chuàng)建一個(gè)新項(xiàng)目。

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

圖片圖片

在IntelliJ IDEA項(xiàng)目創(chuàng)建過(guò)程中選擇“Maven”

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

過(guò)了一會(huì)兒,應(yīng)該會(huì)有一個(gè)可以使用的模板。您可能會(huì)對(duì)Maven有疑問(wèn)。

Maven是一個(gè)構(gòu)建自動(dòng)化工具,主要用于Java項(xiàng)目。使用它來(lái)向項(xiàng)目添加額外的庫(kù)。

項(xiàng)目結(jié)構(gòu)中pom.xml文件的位置項(xiàng)目結(jié)構(gòu)中pom.xml文件的位置

在創(chuàng)建項(xiàng)目并打開(kāi)pom.xml文件后,它的外觀將類(lèi)似于以下內(nèi)容:

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)在我們使用這個(gè)文件來(lái)添加可以用來(lái)自動(dòng)化應(yīng)用程序的額外庫(kù)。

以下是應(yīng)該添加到項(xiàng)目中的行(用粗體突出顯示),以便能夠自動(dòng)化Web應(yīng)用程序:

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

添加這些行后,幾乎擁有了在項(xiàng)目中使用的所有必要庫(kù)。具體來(lái)說(shuō):

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

還有一些要注意的事項(xiàng):

IDEA中下載的庫(kù)的外觀IDEA中下載的庫(kù)的外觀

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

已經(jīng)準(zhǔn)備好開(kāi)始編寫(xiě)代碼了。不過(guò),先起草一下,然后再繼續(xù)。

4 起草代碼

通常,大多數(shù)WebDriver教程描述了需要執(zhí)行的命令序列。我們暫時(shí)遵循這個(gè)模式,概述一下在這里為測(cè)試執(zhí)行的操作:

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();

只用七行代碼就能實(shí)現(xiàn)自動(dòng)化填寫(xiě)網(wǎng)頁(yè)表單的工作解決方案。為了澄清一下,第一行顯示了chromedriver的位置(因?yàn)樵贑hrome上執(zhí)行此腳本),第二行創(chuàng)建了一個(gè)后續(xù)要使用的WebDriver實(shí)例。

接下來(lái)的幾行很容易分析,因?yàn)橹皇羌虞d頁(yè)面并使用定位器執(zhí)行操作。這段代碼將正常工作并執(zhí)行必要的操作(除了稍后要討論的斷言部分)。

然而,這段代碼有什么問(wèn)題呢?問(wèn)題在于它與在真實(shí)環(huán)境中的實(shí)際使用方式相去甚遠(yuǎn),原因如下:

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

讓我們回到項(xiàng)目并規(guī)劃項(xiàng)目結(jié)構(gòu)。

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

使用PageObject方法作為設(shè)計(jì)測(cè)試的基礎(chǔ)。在Java類(lèi)的術(shù)語(yǔ)中,這意味著將為每個(gè)網(wǎng)頁(yè)創(chuàng)建一個(gè)類(lèi),并概述定位器和執(zhí)行操作的方法。此外,還將創(chuàng)建一個(gè)“父”類(lèi),從中繼承我們的對(duì)象(頁(yè)面)。

自動(dòng)化測(cè)試的項(xiàng)目結(jié)構(gòu)自動(dòng)化測(cè)試的項(xiàng)目結(jié)構(gòu)

此外,還需要一個(gè)類(lèi),用于將所有類(lèi)連接起來(lái),并具有存儲(chǔ)配置設(shè)置的變量。

以下是項(xiàng)目結(jié)構(gòu)示例:

  • PageObject
  • TestPlan
  • Utils
  • WebForm

繼續(xù)在項(xiàng)目中創(chuàng)建這四個(gè)類(lèi)。請(qǐng)打開(kāi)“[項(xiàng)目]\src\test\”,右鍵單擊“test”文件夾。選擇“New -> Java Class”,并相應(yīng)地創(chuàng)建這些類(lèi)。

責(zé)任編輯:武曉燕 來(lái)源: Java學(xué)研大本營(yíng)
相關(guān)推薦

2023-02-15 08:21:22

2011-01-20 10:17:25

ibmdwWeb

2023-12-25 09:52:32

2013-03-13 11:34:05

自動(dòng)化測(cè)試Selenium.Net測(cè)試

2011-10-11 09:56:59

PhoneGapSelenium

2010-09-27 09:13:36

Visual Stud

2010-08-12 18:08:03

ibmdwRational

2021-11-05 09:00:00

Selenium工具自動(dòng)化測(cè)試

2011-08-16 15:36:47

iPhone應(yīng)用測(cè)試

2024-03-20 13:19:53

2024-05-21 09:52:19

2012-02-27 17:34:12

Facebook自動(dòng)化

2021-09-03 09:56:18

鴻蒙HarmonyOS應(yīng)用

2022-02-17 10:37:16

自動(dòng)化開(kāi)發(fā)團(tuán)隊(duì)預(yù)測(cè)

2013-05-16 10:58:44

Android開(kāi)發(fā)自動(dòng)化測(cè)試

2014-04-16 14:15:01

QCon2014

2024-12-31 11:28:14

2019-02-19 15:37:18

自動(dòng)化測(cè)試數(shù)據(jù)

2011-12-23 17:09:57

自動(dòng)化測(cè)試

2021-06-30 19:48:21

前端自動(dòng)化測(cè)試Vue 應(yīng)用
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)

主站蜘蛛池模板: 亚洲精彩免费视频 | 国产农村妇女精品一二区 | 国产一区二区电影网 | 91免费高清视频 | 免费骚视频 | 91.xxx.高清在线 | 中文字幕一区二区三区日韩精品 | 中文在线a在线 | 美女爽到呻吟久久久久 | 精品九九九 | caoporn国产精品免费公开 | 日本在线视频一区二区 | 国产精品视频中文字幕 | 久久91| 国产一区二区在线视频 | 精品在线99| 北条麻妃一区二区三区在线视频 | 欧美在线一区二区三区 | 99久久99久久精品国产片果冰 | 午夜影院在线观看 | 国产精品爱久久久久久久 | 国产99久久精品一区二区永久免费 | 日韩av第一页 | 成人在线视频免费观看 | 激情六月天 | 欧美一级黄 | 亚洲一区不卡在线 | 精品一区欧美 | 国产精品久久 | 亚洲精品视频在线观看视频 | 欧美中文字幕一区二区 | 99精品久久久久久 | 国产亚洲精品久久午夜玫瑰园 | 成人精品国产一区二区4080 | 人人九九精 | 成人网视频 | 日本精品在线播放 | 男女搞网站 | 精品视频一区在线 | 日韩一区二区三区在线 | 精品国产一级 |