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

【測試開發(fā)之路】Java & Selenium自動化

這篇具有很好參考價值的文章主要介紹了【測試開發(fā)之路】Java & Selenium自動化。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

一、概述與入門

1、Selenium介紹

? 使用前需要下載瀏覽器對應(yīng)的Driver,Selenium提供了EdgeDriver和ChromiumDriver兩種驅(qū)動類。需要安裝與本機瀏覽器版本相同的驅(qū)動。

? EdgeDriver下載地址:Microsoft Edge WebDriver - Microsoft Edge Developer

? ChromiumDriver下載地址:CNPM Binaries Mirror (npmmirror.com)

2、導(dǎo)入Maven庫

(1)Selenium
<!-- https://mvnrepository.com/artifact/org.seleniumhq.selenium/selenium-java -->
<dependency>
    <groupId>org.seleniumhq.selenium</groupId>
    <artifactId>selenium-java</artifactId>
    <version>4.4.0</version>
</dependency>

(2)TestNG[用于單元測試]
<!-- https://mvnrepository.com/artifact/org.testng/testng -->
<dependency>
    <groupId>org.testng</groupId>
    <artifactId>testng</artifactId>
    <version>7.4.0</version>
    <scope>test</scope>
</dependency>

3、TestNG的使用

? 參考博客:https://blog.csdn.net/lovedingd/article/details/106784561

? TestNG是一個java中的開源自動化測試框架,其靈感來自JUnit和NUnit,TestNG還涵蓋了JUnit4整個核心的功能,但引入了一些新的功能,使其功能更強大,使用更方便。

? 其常用注解有:BeforeTest、Test、AfterTest、BeforeClass、AfterClass等

4、第一個Selenium的程序

? 我們編寫了一個單元測試類,通過@Test注解來標注測試方法。

public class TestCase {
    @Test
    public void openURL(){
        //獲取driver路徑
        Path driverPath = Paths.get("src","driver","msedgedriver.exe");
        //設(shè)置程序環(huán)境
        System.setProperty("webdriver.edge.driver",driverPath.toAbsolutePath().toString());
        WebDriver driver = new EdgeDriver();
        driver.get("https://www.baidu.com");
    }
}

? 這里要注意msedgedriver.exe的位置是src/driver/msedgedriver.exe。

二、元素定位方式

? 通過EdgeDriver的實例化對象的findElement()方法來獲取相應(yīng)的元素,并執(zhí)行操作。

1、id屬性定位

? 這里通過By.id(“string”)的方式來獲取元素,并執(zhí)行了sendKeys(“文本內(nèi)容”)和click()兩種操作。

@Test
public void getElementById(){
	webDriver.get("https://www.baidu.com");
	webDriver.findElement(By.id("kw")).sendKeys("未來村村長");
	webDriver.findElement(By.id("su")).click();
}

2、name屬性定位

webDriver.findElement(By.name("wd")).sendKeys("未來村村長");

3、class屬性定位

webDriver.findElement(By.className("s_ipt")).sendKeys("未來村村長");

4、XPath定位?

? XPath 是一門在 XML 文檔中查找信息的語言。XPath 用于在 XML 文檔中通過元素和屬性進行導(dǎo)航。其常用表達式如下:

表達式 描述
nodename 選取此節(jié)點的所有子節(jié)點
/ 從根節(jié)點選取
// 從任意位置進行匹配
@ 選取屬性
[] 表示謂語,用于查詢某個指定值的節(jié)點
* 匹配任何元素節(jié)點
@* 匹配任何屬性節(jié)點
webDriver.findElement(By.xpath("http://*[@id=\"kw\"]")).sendKeys("未來村村長");

? 瀏覽器檢查-選中元素標簽-右鍵-復(fù)制-復(fù)制xpath可快速獲取XPath路徑。

三、事件

1、鼠標滑動

? 首先需要實例化Actions對象,然后傳入WebDriver對象。先找到相應(yīng)的元素,存儲到WebElement對象中,然后通過actions實例化對象去模擬鼠標事件[moveToElement],再執(zhí)行相應(yīng)動作,最后需要perform來開始執(zhí)行動作。

public void getElementById(){
	webDriver.get("https://www.baidu.com");
	Actions actions = new Actions(webDriver);
	WebElement element1 = webDriver.findElement(By.xpath("http://*[@id=\"s-top-left\"]/div/a"));
	actions.moveToElement(element1);
	WebElement element2 = webDriver.findElement(By.xpath("http://*[@id=\"s-top-more\"]/div[3]/a[3]/img"));
	actions.moveToElement(element2).click();
	actions.perform();
}

2、瀏覽器窗口切換

? 瀏覽器窗口切換首先需要通過webDriver的getWindowHandle()方法獲取窗口定位字符串,然后通過webDriver的switchTo().window(定位字符串)進行切換。

@Test
public void getElementById(){
	webDriver.get("https://www.baidu.com");
	String baidu = webDriver.getWindowHandle();
	webDriver.findElement(By.xpath("http://*[@id=\"s-top-left\"]/a[3]")).click();
	Set<String> windows = webDriver.getWindowHandles();
	webDriver.switchTo().window(baidu);
}

3、iframe窗口切換

? 當(dāng)網(wǎng)頁內(nèi)嵌了iframe時,需要先切換到相應(yīng)的iframe才能執(zhí)行操作。iframe頁面也是一個WebElement元素,可以通過findElement()方法獲取,然后通過switchTo().frame(iframe)進行切換。

WebElement iframe = webDriver.findElement(By.id("iframe-id"));
webDriver.switchTo().frame(iframe);

4、設(shè)置等待時間

(1)最長等待時間

? 當(dāng)頁面加載較慢時,我們可以先進行等待,該等待使后序操作執(zhí)行回旋,直到執(zhí)行成功則放棄等待時間。文章來源地址http://www.zghlxwxcb.cn/news/detail-531973.html

webDriver.manage().timeouts().implicitlyWait(Duration.ofSeconds(10));
(2)確定等待時間
WebDriverWait wait = new WebDriverWait(webDriver,Duration.ofSeconds(10));
WebElement element = wait.until(ExceptedConditions.presenceOfElementLocated(By.id("xxx")));

到了這里,關(guān)于【測試開發(fā)之路】Java & Selenium自動化的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

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

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

相關(guān)文章

  • 【教程】JAVA + selenium 進行自動化測試

    自動登錄淘寶 獲取請求響應(yīng)數(shù)據(jù)等 使用到的工具類

    2024年02月11日
    瀏覽(24)
  • 保姆級自動化測試教程(Selenium+java)

    保姆級自動化測試教程(Selenium+java)

    自動化測試指軟件測試的自動化,在預(yù)設(shè)狀態(tài)下運行應(yīng)用程序或者系統(tǒng),預(yù)設(shè)條件包括正常和異常,最后評估運行結(jié)果。將人為驅(qū)動的測試行為轉(zhuǎn)化為機器執(zhí)行的過程。 自動化測試包括 UI自動化 , 接口自動化 , 單元測試自動化 。 單元測試 :最大的投入應(yīng)該在單元測試上

    2024年02月12日
    瀏覽(21)
  • Java + Selenium + Appium手機自動化測試

    Java + Selenium + Appium手機自動化測試

    一、啟動測試機或者Android模擬器(Genymotion俗稱世界上最快的模擬器,可自行百度安裝) 二、啟動Appium(Appium環(huán)境安裝可自行百度) ? 三、安裝應(yīng)用到Genymotion上,如下圖我安裝一個計算機的小應(yīng)用,包名為CalcTest.apk 安裝步驟:(基于Android SDK已經(jīng)配置好了環(huán)境變量,可自行

    2024年02月06日
    瀏覽(26)
  • selenium瀏覽器自動化測試【基于java】

    selenium瀏覽器自動化測試【基于java】

    Selenium 是一個用于Web應(yīng)用程序的自動化測試工具。它直接運行在瀏覽器中,可以模擬用戶在瀏覽器上面的行為操作。 chrome.exe 默認安裝位置:C:Program FilesGoogleChromeApplicationchrome.exe 結(jié)果我的在:C:Users91073AppDataLocalGoogleChromeApplicationchrome.exe 。。。為啥? 下載驅(qū)動 最新

    2024年02月04日
    瀏覽(23)
  • selenium自動化測試教程——java爬取數(shù)據(jù)

    selenium自動化測試教程——java爬取數(shù)據(jù)

    selenium 是一個用于自動化測試 Web 應(yīng)用的工具集 ,它可以模擬用戶自動去瀏覽器網(wǎng)頁上進行點擊、輸入、選擇下拉值復(fù)選框、鼠標移動、任意 JavaScript 執(zhí)行等等操作。 selenium 有三個產(chǎn)品: Selenium WebDriver:基于瀏覽器的回歸自動化套件和測試,你可以使用 Java、Python、JavaScri

    2024年02月14日
    瀏覽(25)
  • selenium+java自動化測試環(huán)境搭建mac

    selenium+java自動化測試環(huán)境搭建mac

    一、官網(wǎng)下載selenium Downloads | Selenium ?? 下載之后的文件如下 二、下載谷歌瀏覽器驅(qū)動,驅(qū)動版本和瀏覽器版本一致、下面是我的谷歌瀏覽器版本 ?谷歌瀏覽器下載地址 CNPM Binaries Mirror ?下載完成如下:

    2023年04月08日
    瀏覽(16)
  • Selenium之路: UI自動化測試的必備指南

    Selenium之路: UI自動化測試的必備指南

    自動化測試指軟件測試的自動化,可以使用軟件工具或腳本來執(zhí)行測試任務(wù)的過程,以替代人工進行重復(fù)性、繁瑣或耗時的測試活動;是將人為驅(qū)動的測試行為轉(zhuǎn)化為機器執(zhí)行的過程 。 自動化測試包括 UI 自動化,接口自動化,單元測試自動化。 Selenium 是 Web 應(yīng)用中基于 UI

    2024年04月22日
    瀏覽(31)
  • java+selenium自動化測試之8大常用定位方法

    java+selenium自動化測試之8大常用定位方法

    定位元素:Selenium能夠模擬用戶去瀏覽器頁面上執(zhí)行對應(yīng)(輸入,點擊,清除,提交)等操作,它是憑什么方式去尋找到頁面的元素?Selenium沒有視覺、聽覺等。Selenium通過在頁面上尋找元素位置,找到元素后,然后對元素進行相應(yīng)的操作,Selenium尋找元素位置的方法,稱之為

    2024年04月27日
    瀏覽(26)
  • 軟件測試自動化Java篇【Selenium+Junit 5】

    軟件測試自動化Java篇【Selenium+Junit 5】

    為什么選擇selenium作為我們的web自動化測試工具? 開源免費 支持多瀏覽器 支持多系統(tǒng) 支持多語言【Java,Python,C#,Rubby,JavaScript,Kolin】 selenium包提供了很多可供測試使用的API Chrome瀏覽器 Chrome驅(qū)動【驅(qū)動器版本要和瀏覽器版本對應(yīng)越詳細越好】 然后把驅(qū)動包放在安裝jdk的

    2024年01月18日
    瀏覽(44)
  • 13.4web自動化測試(Selenium3+Java)

    13.4web自動化測試(Selenium3+Java)

    一.定義 ?用來做web自動化測試的框架. 二.特點 1.支持各種瀏覽器. 2.支持各種平臺(操作系統(tǒng)). 3.支持各種編程語言. 4.有豐富的api. 三.工作原理 四.搭環(huán)境 1.對照Chrome瀏覽器版本號,下載ChromeDriver,配置環(huán)境變量,我直接把.exe文件放在了jdk安裝路徑的bin文件夾下了(jdk配置了環(huán)境變量

    2024年02月08日
    瀏覽(23)

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

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

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

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包