2022 年 32 個 Eclipse 示例 Selenium 項目
已發表: 2021-01-04Selenium 是 Web 測試自動化部分的傑出技術之一。 通過正確使用 Selenium,您可以使您的測試過程非常高效,並在很短的時間內完成多項任務。
這就是為什麼學習 Selenium 具有重要意義。 在本文中,您將學習如何使用 Eclipse(另一種用於基於 Java 的項目的流行技術)處理 Selenium 項目。
首先,我們將討論這些技術的基礎知識。 然後我們將了解如何使用 Eclipse 啟動 Selenium 項目。 我們還分享了一個示例項目,您可以從中獲取靈感。 讓我們開始吧。
目錄
什麼是硒?
Selenium 是一個可移植的框架,也是一種流行的 Web 應用測試工具。 它兼容多種編程語言,如 Python、C# 和 Java。 您可以使用這些語言通過 Selenium 執行各種任務,例如創建測試腳本。 儘管如此,大多數用戶還是更喜歡將 Java 與這個框架一起使用,因為它比其他框架更易於使用。
Selenium 不是一個單一的軟件應用程序。 它是一套可用於執行不同類型測試的各種工具。
Selenium 在其套件中有以下工具:

- Selenium IDE(集成開發環境)
- Selenium 網絡驅動程序
- Selenium 客戶端 API
- Selenium 遙控器(已棄用)
- 硒網格
Jason Huggins 在 2004 年創建了 Selenium。他想自動化重複的手動測試過程,所以他製作了一個 JavaScript 程序。 同樣的程序成為 Selenium Core。 除了 Jason,許多其他開發人員也為創建 Selenium 套件做出了貢獻。
為什麼叫硒
Selenium 的名字來源於一個笑話。 在其開發時,還有另一個名為 Mercury Interactive 的主要自動化測試框架。 傑森開玩笑地向他的朋友推薦了硒,因為硒是一種流行的汞中毒解毒劑。 他的朋友們接受了這個建議,並給它起了現在的名字。
硒的特點
Selenium 有很多特性; 最突出的是:
- Selenium 幾乎兼容業界所有主流瀏覽器,包括 Chrome、Opera、Safari 等。
- 該套件有一組特定的命令,稱為 Selenese。 它們持有每個 Selenium 命令的序列。
- 您可以通過 Selenium 的元素定位器在網頁上定位元素。
- 您不能使用 Selenium 來測試桌面應用程序或移動應用程序。 您只能將其用於 Web 應用程序測試。
閱讀: Selenium 項目理念
什麼是馬文?
Maven 是開發人員主要用於 Java 項目的自動化工具。 除了 Java,您還可以將它與其他幾種編程語言一起使用,例如 C#、Scala、Ruby 等。它是 Apache Software Foundation 的產品,因此它是一個開源工具。
Maven 使構建過程更加直接,並為您提供了一個統一的構建系統。 它確保 Java 開發人員在處理 Java 項目時遵循最佳開發實踐。 它於 2002 年進入行業,從那時起,它已成為最重要的 Apache 項目之一。
Maven 的名字來源於意第緒語“maven”,意思是“知識的積累者”。
Maven的特點
- Maven確保各個項目之間的一致性
- 它通過為模塊或項目提供樣板來簡化項目設置
- 可以同時處理多個項目
- Maven 可以將任意數量的項目構建到其特定的輸出類型中,例如 WAR 或 JAR,而在許多情況下不需要編寫腳本
- 它基於 POM(項目對像模型)
現在我們已經討論了 Selenium 和 Maven,讓我們了解 Eclipse IDE。 如果您想使用 Eclipse 處理 Selenium 項目,那麼掌握這三個方面的工作知識至關重要。
什麼是 Eclipse IDE?
Eclipse 是一個 IDE(集成開發環境),可幫助開發人員使用 Selenium 和相關技術。 您可以使用 Eclipse 開發 C++、Ruby、Python、C、Perl、Java 等應用程序。
Eclipse IDE 的功能
- 它是一個開源工具,這意味著您可以免費使用它。
- Eclipse IDE 的基礎平台具有多個插件,並且可以使用更多插件進行擴展。
- 您可以使用相應的插件將 Eclipse 轉換為任何編程語言的 IDE。
- JDT(Java 開發工具)項目提供了一個將 Eclipse 用作 Java IDE 的插件。 同樣,PyDev 是一個插件,允許您將 Eclipse 用作 Python IDE。
- 您可以使用 Eclipse 平台及其插件來創建 IDE、客戶端應用程序等。
如何使用 Eclipse IDE 創建 Selenium 項目
在本文的這一部分中,我們將了解如何使用 Eclipse 創建 Selenium 項目。 這是從事 Selenium 項目的第一步,許多初學者都在為它而苦惱。
在通過 Eclipse 創建 Selenium 項目之前,您需要在系統中安裝 Maven 和 TestNG。 確保在開始此過程之前安裝它們(Maven 和 TestNG)。
第1步:
打開 Eclipse 並右鍵單擊 Package Explorer 部分。 您會看到一個菜單彈出窗口。 選擇“新建”按鈕,這將打開另一個菜單以選擇“其他...”選項。
第2步:
當您單擊“其他...”按鈕時,它將打開一個新窗口。 選擇 Maven 項目,然後單擊“下一步”按鈕。
第 3 步:
現在將出現一個新窗口。 在這裡,您必須勾選“創建一個簡單的項目(跳過原型選擇)”框。 之後,選擇“下一步”按鈕。
第四步:
在本節中,您必須輸入 Group Id 和 Artifact Id。 它們都對您的項目命名至關重要。 組 ID 將幫助您在所有其他項目中識別您的項目。 它必須遵循包名稱規則。 這意味著它應該以您控制的反向域名開頭。 Maven 不強制執行此命名規則。 但是,由於該工具的廣泛流行,遵循此規則已成為一種常見做法。 您也可以使用組 ID 創建多個子組。
Artifact Id 是沒有版本的 jar 的名稱。 如果你是它的創建者,你可以選擇任何你想要的名字,只要你不使用任何奇怪的符號並且只使用小寫字母。
在為您的項目輸入 Group Id 和 Artifact Id 時,請記住以上幾點。 輸入這些詳細信息後,單擊“完成”按鈕。
步驟#5:
讓我們將必要的依賴項添加到我們項目的 POM 文件中。 前往 pom.xml 文件並在 Eclipse 中選擇“pom.xml”選項卡。 現在,添加與 TestNG 和 Selenium WebDriver 相關的依賴項。
步驟#6:
在此步驟中,通過創建 TestNG 類來獲取 testng.xml 文件。 在此文件中復制以下代碼:
包裝測試;
導入 org.openqa.selenium.WebDriver;
導入 org.openqa.selenium.firefox.FirefoxDriver;
導入 org.testng.annotations.Test;
導入 org.testng.annotations.BeforeClass;
導入 org.testng.annotations.AfterClass;
公共類 NewTest {
公共 WebDriver 驅動程序;
@測試
公共無效openMyBlog(){
driver.get(“https://www.softwaretestingmaterial.com/”);
}
@課前
公共無效 beforeClass() {
System.setProperty(“webdriver.gecko.driver”, “D:\\Selenium\\Drivers\\geckodriver.exe”);
驅動程序 = 新的 FirefoxDriver();
}
@下課以後
公共無效後類(){
driver.quit();
}
}
第 7 步:
現在,您可以使用 TestNG 文件在 Eclipse 中運行您的 Selenium 項目。
在進入下一個教程之前,請確保您了解上述教程。 這是因為,在下一節中,我們將討論一個可以使用 Eclipse 構建的 Selenium 項目的工作示例。
另請閱讀:印度的硒開發人員薪水
從世界頂級大學獲得軟件開發課程。 獲得行政 PG 課程、高級證書課程或碩士課程,以加快您的職業生涯。
Eclipse 的 Selenium 項目:一個示例
在這裡,我們分享了基於 Selenium 的航班預訂解決方案的代碼。 該軟件選擇航班的到達和離開地點以及相同的日期。 該工具在 MakeMyTrip 網站上執行這些任務。
您可以從這個項目中獲得靈感,自己用 Eclipse 創建一個類似的 Selenium 項目。 如果您之前沒有參與過 Selenium 項目,我們建議您先處理該項目的較小版本。
例如,您可以創建一個僅選擇到達和離開位置的程序。 另一方面,如果你想擴展這個項目,你可以添加更多的功能。
瀏覽器
包瀏覽器;
導入 org.openqa.selenium.WebDriver;
導入 org.openqa.selenium.chrome.ChromeDriver;
公共類瀏覽器選擇
{
靜態 WebDriver 驅動程序;
公共靜態 WebDriver UsingChrome()
{

System.setProperty(“webdriver.chrome.driver”, “E:\\SeleniumLibs\\\\chromedriver_win32\\chromedriver.exe”);
驅動程序 = 新的 ChromeDriver();
driver.manage().window().maximize();
回程司機;
}
}
代碼
包makemytrip;
導入 java.awt.AWTException;
導入 java.awt.Robot;
導入 java.awt.event.KeyEvent;
導入 java.util.List;
導入 java.util.concurrent.TimeUnit;
導入 org.openqa.selenium.By;
導入 org.openqa.selenium.JavascriptExecutor;
導入 org.openqa.selenium.WebDriver;
導入 org.openqa.selenium.WebDriverException;
導入 org.openqa.selenium.WebElement;
導入 org.testng.annotations.AfterMethod;
導入 org.testng.annotations.BeforeMethod;
導入 org.testng.annotations.Test;
導入瀏覽器。瀏覽器選擇;
公共類 MakeMyTripProject
{
WebDriver 驅動程序;
@BeforeMethod
公共無效 OpenBrowser()
{
驅動程序 = BrowserSelection.UsingChrome();
}
@測試
public void TripDetails() 拋出 InterruptedException、AWTException
{
driver.get(“https://www.makemytrip.com/”);
driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);
線程.sleep(5000);
嘗試
{
/*String frameStatus = driver.findElement(By.id(“webklipper-publisher-widget-container-notification-frame”)).getTagName();
System.out.println(frameStatus);
driver.switchTo().frame(“notification-frame-31764456”);
driver.findElement(By.xpath(“.//*[@id='webklipper-publisher-widget-container-notification-close-div']/i”)).click();
driver.switchTo().defaultContent();
線程.sleep(3000); */
driver.findElement(By.xpath(“//input[@id='hp-widget__sfrom']”)).click();
driver.findElement(By.xpath(“//input[@id='hp-widget__sfrom']”)).clear();
//driver.findElement(By.xpath(“//input[@id='hp-widget__sfrom']”)).sendKeys(“Goa”);
線程.sleep(2000);
List<WebElement> fromCities = driver.findElements(By.xpath(“//ul[@id='ui-id-1′]/li/div/p/span[1]”));
System.out.println(fromCities.size()+”\n”);
for(int i=0;i<fromCities.size();i++)
{
WebElement 元素=fromCities.get(i);
System.out.println(element.getAttribute(“innerHTML”));
}
//driver.findElement(By.xpath(“//ul[@id='ui-id-1']/li/div/p/span”)).click();
driver.findElement(By.xpath(“//li[contains(@aria-label,'Top Cities : Goa, India')]/div/p/span[1]”)).click();
driver.findElement(By.xpath(“//input[@id='hp-widget__sTo']”)).click();
driver.findElement(By.xpath(“//input[@id='hp-widget__sTo']”)).clear();
//driver.findElement(By.xpath(“//input[@id='hp-widget__sTo']”)).sendKeys(“Mumbai”);
線程.sleep(2000);
List<WebElement> toCities = driver.findElements(By.xpath(“//ul[@id='ui-id-2′]/li/div/p/span[1]”));
System.out.println(toCities.size()+”\n”);
for(int i=0;i<toCities.size();i++)
{
WebElement 元素=toCities.get(i);
System.out.println(element.getAttribute(“innerHTML”));
}
//driver.findElement(By.xpath(“//ul[@id='ui-id-2']/li/div/p/span”)).click();
driver.findElement(By.xpath(“//ul[@id='ui-id-2']/li[3]/div/p/span[1]”)).click();
線程.sleep(2000);
driver.findElement(By.xpath(“//input[@id='hp-widget__depart']”)).click();
線程.sleep(2000);
字符串日期 = “2018 年 10 月 10 日”;
字符串拆分器[] = date.split(“-”);
字符串月_年 = 拆分器[1];
字符串日=拆分器[0];
System.out.println(month_year);
System.out.println(day);
選擇日期(月_年,日);
線程.sleep(3000);
driver.findElement(By.xpath(“//button[@id='searchBtn']”)).click();
線程.sleep(5000);
線程.sleep(2000);
JavascriptExecutor js = (JavascriptExecutor) 驅動程序;
js.executeScript(“window.scrollBy(0,3000)”);
/*機器人機器人=新機器人();
機器人.keyPress(KeyEvent.VK_PAGE_DOWN);
機器人.keyRelease(KeyEvent.VK_PAGE_DOWN);*/
線程.sleep(5000);
driver.findElement(By.xpath(“//div[@id='aln_AI_dep']/span[3]”)).click();
線程.sleep(5000);
List<WebElement> 航班 = driver.findElements(By.xpath(“//div[@class='top_first_part clearfix']/div/span/span[2]/span[1]”));
System.out.println(“印度航空航班搜索結果編號:—”+flights.size());
}catch(WebDriverException e)
{
System.out.println(“例外是:—“+e+”\n”);
}
}
公共 void selectDate(String monthyear, String Selectday) 拋出 InterruptedException
{
List<WebElement> 元素 = driver.findElements(By.xpath(“//div[@class='ui-datepicker-title']/span[1]”));
for (int i=0; i<elements.size();i++)
{
System.out.println(elements.get(i).getText());
//選擇月份
if(elements.get(i).getText().equals(monthyear))
{
//選擇日期
List<WebElement> days = driver.findElements(By.xpath(“//div[@class='ui-datepicker-inline ui-datepicker ui-widget ui-widget-content ui-helper-clearfix ui-corner-all ui -datepicker-multi ui-datepicker-multi-2′]/div[2]/table/tbody/tr/td/a”));
對於(WebElement d:天)
{
System.out.println(d.getText());
if(d.getText().equals(Selectday))
{
d.click();
線程.sleep(10000);
返回;
}
}
}
}
driver.findElement(By.xpath(“//div[@class='ui-datepicker-inline ui-datepicker ui-widget ui-widget-content ui-helper-clearfix ui-corner-all ui-datepicker-multi ui- datepicker-multi-2′]/div[2]/div/a/span”)).click();
選擇日期(月年,選擇日);
}
@AfterMethod
公共無效關閉瀏覽器()
{
driver.quit();
}
}

閱讀:初學者的 5 個有趣的 Selenium 項目想法和主題
學習使用 Eclipse 等創建 Selenium 項目
硒是一項非常重要的技術。 了解它將幫助您成為精通軟件測試的專業人士。 以下是有關 Selenium 和 Maven 的一些附加資源,供您進一步閱讀:
- 如何創建 Maven 項目
- 5 個有趣的 Selenium 項目創意
- 30 個 Selenium 面試問題和答案
如果您想了解有關 Selenium 或軟件測試的更多信息,我們建議您參加計算機科學課程。 您將通過交互式測驗、問題和項目從行業摘錄中了解。
我們希望您發現本指南有用。 如果您對本文或 Selenium 有任何疑問,請通過下面的評論部分詢問我們。 我們很樂意聽取您的意見。
如果您有興趣了解有關全棧軟件開發的更多信息,請查看 upGrad 和 IIIT-B 的全棧軟件開發執行 PG 計劃,該計劃專為工作專業人士設計,提供 500 多個小時的嚴格培訓、9 個以上的項目,和任務、IIIT-B 校友身份、實用的實踐頂點項目和頂級公司的工作協助。
