WebDriver应用实例(java)——设置一个页面对象的属性值

        掌握设定页面对象的所有属性的方法,这个例子以设定文本框的可编辑状态和显示长度为目标。

        被测试页面HTML代码:

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>设置文本框属性</title>
</head>
<body>
	<input type="text" id="text" value="watermelon" size=100>文本框</input>
</body>
</html>

        实例代码:

package cn.om.webdriverapi;

import org.testng.annotations.Test;
import org.testng.annotations.BeforeMethod;
import org.openqa.selenium.By;
import org.openqa.selenium.JavascriptExecutor;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.firefox.FirefoxDriver;
import org.testng.annotations.AfterMethod;

public class TestDataPicker {

	WebDriver driver;
	String baseURL;

	@Test
	public void testdataPicker() {
		driver.get(baseURL);
		WebElement textbox = driver.findElement(By.id("text"));
		setAttribute(textbox, driver, "value", "文本框的文字和长度属性已经被修改");
		setAttribute(textbox, driver, "size", "10");
		RemoveAttribute(textbox, driver, "size");
	}

	public void setAttribute(WebElement e, WebDriver d, String attributeName, String value) {
		JavascriptExecutor js = (JavascriptExecutor) d;
		// 执行JavaScriptdiamante修改页面元素属性。arguments[0]-[2]后面会用e,attributeName,value替换并执行
		js.executeScript("arguments[0].setAttribute(arguments[1],arguments[2])", e, attributeName, value);
	}

	public void RemoveAttribute(WebElement e, WebDriver d, String attributeName) {
		JavascriptExecutor js = (JavascriptExecutor) d;
		// 执行JavaScriptdiamante修改页面元素属性。arguments[0]-[2]后面会用e,attributeName,value替换并执行
		js.executeScript("arguments[0].removeAttribute(arguments[1])", e, attributeName);

	}

	@BeforeMethod
	public void beforeMethod() {
		baseURL = "file:///F:/workspace/WebDriver%20API/dataPicker.html";
		System.setProperty("webdriver.firefox.bin", "D:/Mozilla Firefox/firefox.exe");
		driver = new FirefoxDriver();
	}

	@AfterMethod
	public void afterMethod() {
		driver.quit();
	}

}

猜你喜欢

转载自blog.csdn.net/vikeyyyy/article/details/80183255
今日推荐