如何使用selenium完成web页面元素的定位和操作,是web自动化测试工程师用例代码中的主要工作,元素定位主要有8种,定位到元素后,需要做的就是元素行为的模拟,比如点击按钮元素、在文本框输入内容等等,如何使用selenium实现元素操作呢?以下列举常见的元素操作。
右键目标元素
WebElement element = driver.findElement(定位方式方法);
//定义WebElement selenium元素对象
Actions actions = new Actions(driver);
//定义Actions selenium元素操作对象
actions.contextClick(element).perform();
// 通过actions对象触发鼠标右键点击
Robot robot = new Robot();
//定义Robot selenium键盘操作对象
robot.keyPress(KeyEvent.VK_DOWN);
// 通过robot按下方向键中的下键
robot.keyRelease(KeyEvent.VK_DOWN);
// 通过robo松开方向下键
Thread.sleep(1000L);
robot.keyPress(KeyEvent.VK_ENTER);
// 按下回车键
robot.keyRelease(KeyEvent.VK_ENTER);
// 松开回车键
输入框目标元素的清空输入
WebElement element = driver.findElement(定位方式方法);
//定义WebElement selenium元素对象
element.clear();
//将输入框清空
element.sendKeys(“码同学测试”);
//在输入框中输入内容 码同学测试
element.getText();
//获取输入框的文本内容:
多选框目标元素的全部勾选
List<WebElement> elements = driver.findElements(定位方式方法);
//定义WebElement selenium元素对象集合
for (int i = 0; i < elements.size(); i++) {
elements.get(i).click(); //全部勾选多选框
}
多选框目标元素的随机勾选2个
List<WebElement> elements = driver.findElements(定位方式方法);
//定义WebElement selenium元素对象集合
Set<Integer> set = new HashSet<>();
//定义HashSet集合对象
do{
Random random = new Random();
//定义Random对象
int temp = random.nextInt(elements.size());
//获取随机数
set.add(temp);
//将获取的随机数存到HashSet集合对象
}while (set.size()<2);
for (Integer integer : set) {
elements.get(integer).click();//随机勾选2个多选选框
}
弹窗对话框目标元素的操作
WebElement element = driver.findElement(定位方式方法);
//定义WebElement selenium元素对象
element.click();
//元素点击触发弹窗对话框出现
Alert alert = driver.switchTo().alert();
//定义Alert selenium弹窗对象
alert.accept();
//弹窗对话框点确定按钮
alert.dismiss();
//弹窗对话框点取消按钮
alert.sendKeys(“码同学测试”);
//弹窗对话框中输入框输入 码同学测试
浏览器基本操作以及鼠标操作
System.setProperty("webdriver.chrome.driver", "webdrivers/chromedriver.exe");
WebDriver driver = new ChromeDriver();
//定义ChromeDriver对象
driver.manage().window().maximize();
//浏览器窗口最大化
driver.manage().timeouts().implicitlyWait(5, TimeUnit.SECONDS);
//设置隐式智能等待时间5秒
driver.get("http://www.mtxhsop.com:3000/");
//访问码同学商城网站首页
driver.navigate().refresh();
//刷新浏览器当前页面
// 实例化actions类。调用doubleClick方法,双击目标元素
WebElement element = driver.findElement(定位方式方法);
//实例化WebElement对象,element该对象为双击目标对象
Actions actions = new Actions(driver);
// 实例化Actions类对象:actions,并将driver传给actions
actions.doubleClick(day).perform();
// 双击目标元素element
// 调用moveToElement方法,把鼠标移动到目标元素上
WebElement Qui = driver.findElement(定位方式方法);
actions.moveToElement(Qui).perform();
调用JS脚本
WebDriver driver=new ChromeDriver();
//定义ChromeDriver对象
JavascriptExecutor js = (JavascriptExecutor) driver;
//将ChromeDriver对象强转成JavascriptExecutor对象
js.executeScript("JS脚本");
//使用JavascriptExecutor对象调用JS脚本
本文内容不用于商业目的,如涉及知识产权问题,请权利人联系51Testing小编(021-64471599-8017),我们将立即处理