📜  Selenium WebDriver处理复选框

📅  最后修改于: 2020-11-06 04:53:59             🧑  作者: Mango

处理复选框

在本节中,您将学习如何处理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():此方法选择定位器。在这种情况下,它将选中“高级公民”复选框。

输出量

在控制台上输出