[英]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.