Selenium WebDriver处理复选框实例图解

在本节中, 你将学习如何处理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 property
System.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 stub
		System.setProperty("webdriver.chrome.driver", "C:\\\\work\\\\chromedriver.exe");
		WebDriver driver = new ChromeDriver();
		driver.navigate().to("https://www.spicejet.com/");

	}}

步骤5:现在, 我们尝试通过检查其HTML代码来查找”老年人”复选框。

处理复选框

注意复选框的id属性。

处理复选框

在上述情况下, 我们观察到” id”是唯一属性, 因此我们使用id属性来定位复选框。

步骤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 stub
		System.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():此方法选择定位器。在这种情况下, 它将选中”高级公民”复选框。

输出

处理复选框

在控制台上输出

处理复选框
微信公众号
手机浏览(小程序)
0
分享到:
没有账号? 忘记密码?