Selenium WebDriver如何處理單選框和多選框
可能大家會遇到同樣的問題,用Selenium IDE錄製單選框或多選框後,在指令碼中,如果想根據不同的用例,選擇不同的單選框或多選框的業務流程時,在WebDriver程式碼中如何維護呢?這裡有簡單處理的兩種方法:
方法一:
WebElement select = dirver.findElement(By.xpath(“//selenium”)); List<WebElement> allOptions = select.findElements(By.tagName(“option”)); For(WebElement option : allOptions){ System.out.println(String.format(“Value is : %s”,option.getValue())); If(option.getValue()==”廣州”){ Option.setSelected(); } }
方法二:
Select select = new Select(driver.findElement(By.xpath(“//select”)));
Select.deselectAll();
Select.selectByVisibleText(“廣州”);
程式碼中,會從頁面的第一個Select元素開始,對所有單選框取消選中,接著選中顯示文字為“廣州”的單選框。
很明顯,第二種方法執行的效率比第一種高,因為第一種方法還要遍歷所有的單選元素。
以為只是以單選框為例,也可以作為這種的方法去解決多選框的問題。