在本节中, 你将学习如何处理Selenium Webdriver中的复选框。
让我们创建一个测试案例, 在该案例中, 我们将自动化以下场景:
- 调用Google Chrome浏览器。
- 导航到处理该复选框的网站。
- 从spicejet网站上选择” 高级公民” 复选框。
- 关闭驱动程序。
步骤1:启动Eclipse IDE。
第2步:右键单击src文件夹, 然后单击” 新建” > ” 类” 。
文章图片
- 输入班级名称。我提供的类名称为Checkbox_test。
文章图片
步骤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代码来查找” 老年人” 复选框。
文章图片
注意复选框的id属性。
文章图片
在上述情况下, 我们观察到” 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-处理警报实例图解
- Selenium WebDriver-拖放实例图解
- Selenium WebDriver-浏览器命令实例图解
- Selenium WebDriver命令示例图解
- Selenium与C#测试教程详细步骤图解
- Selenium WebDriver教程介绍
- Selenium IDE-手动创建测试用例图解
- Selenium IDE-定位策略