WebDriver API (七) 操作单选框---for循环遍历所有单选按钮,以及isSelected( )方法的使用

被测试的HTML代码:

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
	<form>
		<input type = "radio" name = "fruit" value = "berry"/>草莓</input>
		<br/>
		<input type = "radio" name = "fruit" value = "watermelon"/>西瓜</input>
		<br/>
		<input type = "radio" name = "fruit" value = "orange"/>橙子</input>
	</form>
</body>
</html>

在这里插入图片描述

  1. 先定位到单选按钮,再用isSelected()方法判断有没有被选中
WebElement radioOption = driver.findElement(By.xpath("//input[@value='berry']"));
radioOption.isSelected()//使用isSelected()方法判断单选按钮有没有被选中

完整代码

import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.chrome.ChromeDriver;
import org.testng.Assert;
import org.testng.annotations.AfterMethod;
import org.testng.annotations.BeforeMethod;
import org.testng.annotations.Test;

public class OperateRadio {
	WebDriver driver;
	String baseUrl = "E:\\HTML\\radioButton.html";

	@BeforeMethod
	public void setUp() throws Exception {
		System.setProperty("webdriver.chrome.driver", "D:\\Drivers\\chromedriver.exe");
		driver = new ChromeDriver();
	}

	@Test
	public void testRadio() throws Exception {
		driver.get(baseUrl);
		Thread.sleep(1000);
		//查找属性为"berry"的单选按钮对象
		WebElement radioOption = driver.findElement(By.xpath("//input[@value='berry']"));
		
		//如果次单选按钮处于未选中状态,则调用click方法选中此单选按钮
		if (!radioOption.isSelected()) 
			radioOption.click();
		//断言属性值为"berry"的选项处于相中状态
		Assert.assertTrue(radioOption.isSelected());
		
		//查找name属性值为"fruit"的所有单选按钮对象,并存储到一个List容器中
		List<WebElement> fruits = driver.findElements(By.name("fruit"));
		/*使用for循环对List容器中的每个单选按钮进行遍历,查找value属性值为"watermelon"的单选按钮,如果查找到的此单选按钮处于选中状态,则调用click方法进行单击选择*/
		for(WebElement fruit:fruits) {
			if (fruit.getAttribute("value").equals("watermelon")) {
				if(!fruit.isSelected())
					fruit.click();
					Thread.sleep(1000);
					//断言单选按钮是否被成功选中
					Assert.assertTrue(fruit.isSelected());
					break;
			}
		}		
	}
	@AfterMethod
	public void tearDown() throws Exception {
		driver.quit();
	}
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Summer@123

不积跬步无以至千里,感谢支持!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值