Selenium WebDriver处理复选框实例图解

在本节中, 你将学习如何处理Selenium Webdriver中的复选框。
让我们创建一个测试案例, 在该案例中, 我们将自动化以下场景:

  • 调用Google Chrome浏览器。
  • 导航到处理该复选框的网站。
  • 从spicejet网站上选择” 高级公民” 复选框。
  • 关闭驱动程序。
现在, 我们将逐步创建一个测试用例, 以使你正确地了解如何处理复选框。
步骤1:启动Eclipse IDE。
第2步:右键单击src文件夹, 然后单击” 新建” > ” 类” 。
Selenium WebDriver处理复选框实例图解

文章图片
  • 输入班级名称。我提供的类名称为Checkbox_test。
Selenium WebDriver处理复选框实例图解

文章图片
步骤3:现在, 我们将调用Google Chrome浏览器。我们将下载chromedriver.exe文件, 并将系统属性设置为chromedriver.exe文件的路径。
这是将系统属性设置为chromedriver.exe文件路径的示例代码。
System.setProperty("webdriver.chrome.driver", "C:\\\\work\\\\chromedriver.exe);

这是调用Google chrome浏览器的示例代码。
WebDriver driver = new ChromeDriver();

结合以上两个代码块, 我们将获得代码片段以启动Google chrome浏览器。
// Set the system propertySystem.setProperty("webdriver.chrome.driver", "C:\\\\work\\\\chromedriver.exe); // Launch the Google Chrome browser.WebDriver driver = new ChromeDriver();

步骤4:我们完成了第一个测试用例, 即调用了Google chrome浏览器。现在, 我们将编写代码以自动化测试用例。我们的第二个测试案例是导航到” spicejet” 网站。
这是导航到” spicejet” 网站的示例代码。
driver.navigate().to("https://www.spicejet.com/");

这是完整的代码:
package mypack; import org.openqa.selenium.WebDriver; import org.openqa.selenium.chrome.ChromeDriver; public class Checkbox_test { public static void main(String[] args) {// TODO Auto-generated method stubSystem.setProperty("webdriver.chrome.driver", "C:\\\\work\\\\chromedriver.exe"); WebDriver driver = new ChromeDriver(); driver.navigate().to("https://www.spicejet.com/"); }}

步骤5:现在, 我们尝试通过检查其HTML代码来查找” 老年人” 复选框。
Selenium WebDriver处理复选框实例图解

文章图片
注意复选框的id属性。
Selenium WebDriver处理复选框实例图解

文章图片
在上述情况下, 我们观察到” id” 是唯一属性, 因此我们使用id属性来定位复选框。
【Selenium WebDriver处理复选框实例图解】步骤6:要自动化第三个测试用例, 我们需要编写代码来定位” Senior Citizen” 复选框。
这是将处理” 高级公民” 复选框的代码。
package mypack; import org.openqa.selenium.By; import org.openqa.selenium.WebDriver; import org.openqa.selenium.chrome.ChromeDriver; public class Checkbox_test {public static void main(String[] args) {// TODO Auto-generated method stubSystem.setProperty("webdriver.chrome.driver", "C:\\\\work\\\\chromedriver.exe"); WebDriver driver = new ChromeDriver(); driver.navigate().to("https://www.spicejet.com/"); System.out.println(driver.findElement(By.cssSelector("input[id*='SeniorCitizenDiscount']")).isSelected()); driver.findElement(By.cssSelector("input[id*='SeniorCitizenDiscount']")).click(); System.out.println(driver.findElement(By.cssSelector("input[id*='SeniorCitizenDiscount']")).isSelected()); driver.close(); }}

在上面的代码中, 我们没有使用完整的’ id’ 属性值, 因为它非常大。我使用了” 高级公民” 复选框的一半, 而另一半则以正则表达式的形式表示, 即” * =” 。
上面的代码中我们使用了两种方法:
  • isSelected():此方法确定是否选中该复选框。如果选中此复选框, 则此方法返回true, 否则返回false。
  • click():此方法选择定位器。在这种情况下, 它将选中” 高级公民” 复选框。
输出
Selenium WebDriver处理复选框实例图解

文章图片
在控制台上输出
Selenium WebDriver处理复选框实例图解

文章图片

    推荐阅读