簡體   English   中英

這個簡單的Java / Selenium WebDriver代碼如何工作

[英]How does this simple Java/Selenium WebDriver Code work

我是硒的新手,昨天從觀看一些視頻開始學習硒。 我對這段代碼的工作方式有疑問。 請解釋。

// I am creating a Object reference for the FirefoxDriver class
FirefoxDriver f=new FirefoxDriver();

//findElementByClassName method is available in FirefoxDriver class. i Can understand this.
f.findElementByClassName("Email").sendKeys("abc");

sendkeys("abc")工作? 它也是FirefoxDriver類的方法嗎? 但是,我知道它在測試字段中輸入“ abc”。 我只是想知道如何在這里使用它。

我以不同的方式嘗試了同一段代碼。 在這里,如何將WebElement類與firefoxDriver類一起使用?

FirefoxDriver f=new FirefoxDriver();
WebElement ex= f.findElementByClassName("Email");
ex.sendKeys("abc");

這兩段代碼都能正確執行所需的代碼,但是它們如何工作?

是的,這兩段代碼都能工作。

基本上,當您執行任何findElement函數時,它將返回一個WebElement。 WebElement是指向附加到瀏覽器的HTML元素的對象。 然后,當您sendKeys() ,驅動程序將轉到該元素並鍵入。

WebElements表示為HTML元素。

webdriver.findElement方法將獲取滿足條件的HTML元素。 以下場景的Web驅動程序將搜索具有類值email的HTML元素,並將返回相應的元素,Selenium可以對其進行進一步的操作,例如click,sendkeys等。

webDriver.findElement(By.xpath(“ // * [@ class ='Email']”))或webDriver.findElement(By.className(“ Email”)

兩者完全相同。您可以使用任何方法。
第二種方法的另一個優點是,您可以重用相同的“ ex” WebElement來進一步執行代碼中的其他功能。這提供了可重用性

第一段代碼:

FirefoxDriver f=new FirefoxDriver();
f.findElementByClassName("Email").sendKeys("abc");

-在這里,我們有兩種方法可以級聯執行所需的功能。
-創建“ FirefoxDriver”實例“ f”,然后使用此實例調用其方法“ findElementByClassName”,該實例返回WebElement,然后“ sendKeys” fn向該Web元素輸入值“ abc”。

第二段代碼:

FirefoxDriver f=new FirefoxDriver();
WebElement ex= f.findElementByClassName("Email");
ex.sendKeys("abc");

-這里有兩個實例,一個為FirefoxDriver,一個為“ f”,為“ WebElement”,一個為“ ex”。
-首先,創建FirefoxDriver的新實例,並使用它找到WebElement並將其存儲在“ ex”中,然后使用此“ ex”執行sendKeys()操作。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM