> 技术文档 > 【自动化测试】Java+Selenium操作页面元素(合集)_java selenuim 获取页面元素

【自动化测试】Java+Selenium操作页面元素(合集)_java selenuim 获取页面元素

本文基于Java语言,依托于Eclipse工具,使用Selenium框架,主要介绍在Selenium中,如何操作Web页面中的各种元素

Eclipse 搭建

1.1、Eclipse 配置

1.2、引入依赖包

修改pom.xml文件

在dependencys节点下,添加如下内容,保存即可自动下载


  1. org.seleniumhq.selenium

  2. selenium-java

  3. 2.43.1

  4. org.testng

  5. testng

  6. 6.9.4

  7. test

  8. org.apache.poi

  9. poi

  10. 3.9

访问浏览器

2.1、火狐默认路径:

WebDriver diver = new FirefoxDriver();

2.2、其他浏览器(非默认路径)

谷歌

IE

火狐

访问路径

3.1、访问一个具体的url

String url = \"http://www.baidu.com\";

调用方法一:driver.get(url);

方法二:driver.navigate().to(url);


浏览器导航


  1. driver.navigate().back();//向前

  2. driver.navigate().forward ();//向后

  3. driver.navigate().refresh();//当前页刷新

关闭浏览器


  1. //关闭当前页面

  2. driver.close();

  3. //关闭所有页面

  4. driver.quit();

页面元素的操作

6.1、输入框

备注:


  1. //找到输入框元素:

  2. WebElement element = driver.findElement(By.id(\"user\"));

  3. //将输入框清空:

  4. element.clear();

  5. //在输入框中输入内容:

  6. element.sendKeys(“test”);

  7. //获取输入框的文本内容:

  8. element.getAttribute(\"value\");

6.2、超链接

6.3、下拉选择框(Select)

对下拉框进行操作时首先要定位到这个下拉框,new 一个Selcet对象,然后对它进行操作


  1. //找到下拉选择框的元素:

  2. Select select = new Select(driver.findElement(By.name(\"select\")));

  3. //选择对应的选择项:

  4. select.selectByVisibleText(“未提交”);

  5. //或

  6. select.selectByValue(“opel”);

  7. //或者通过index选择

  8. select.selectByIndex(1);

  9. //不选择对应的选择项:

  10. select.deselectAll();

  11. select.deselectByValue(“MA_ID_001”);

  12. select.deselectByVisibleText(“mediaAgencyA”);

  13. //或者获取选择项的值:

  14. select.getAllSelectedOptions();//多选列表,list循环可获取到对应的值

  15. select.getFirstSelectedOption().getText();//单选列表直接获取值

6.4、单选项(Radio Button)


  1. //找到单选框元素:

  2. WebElement bookMode =driver.findElement(By.id(\"BookMode\"));

  3. //选择某个单选项:

  4. bookMode.click();

  5. //清空某个单选项:

  6. bookMode.clear();

  7. //判断某个单选项是否已经被选择:

  8. bookMode.isSelected();

6.5、多选项(checkbox)


  1. //多选项的操作和单选的差不多:

  2. WebElement checkbox =driver.findElement(By.id(\"myCheckbox.\"));

  3. checkbox.click();

  4. checkbox.clear();

  5. checkbox.isSelected();

  6. checkbox.isEnabled();

6.6、按钮(button)


  1. //找到按钮元素:

  2. WebElement saveButton = driver.findElement(By.id(\"save\"));

  3. //点击按钮:

  4. saveButton.click();

  5. //判断按钮是否enable:

  6. saveButton.isEnabled ();

6.6、左右选择框

也就是左边是可供选择项,选择后移动到右边的框中,反之亦然。

例如:


  1. Select lang = new Select(driver.findElement(By.id(\"languages\")));

  2. lang.selectByVisibleText(“English”);

  3. WebElement addLanguage =driver.findElement(By.id(\"addButton\"));

  4. addLanguage.click();

6.7、弹出对话框(Popup dialogs)


  1. Alert alert = driver.switchTo().alert();

  2. alert.accept();

  3. alert.dismiss();

  4. alert.getText();

6.8、表单(Form)

Form中的元素的操作和其它的元素操作一样,对元素操作完成后对表单的提交:


  1. WebElement approve = driver.findElement(By.id(\"approve\"));

  2. approve.click();

  3. //或

  4. approve.submit();//只适合于表单的提交

6.9、上传文件 (Upload File)


  1. //上传文件的元素操作:

  2. WebElement adFileUpload = driver.findElement(By.id(\"WAP-upload\"));

  3. String filePath = \"C:\\test\\\\uploadfile\\\\media_ads\\\\test.jpg\";

  4. adFileUpload.sendKeys(filePath);

  5. //拖拉(Drag andDrop)

  6. WebElement element =driver.findElement(By.name(\"source\"));

  7. WebElement target = driver.findElement(By.name(\"target\"));

  8. (new Actions(driver)).dragAndDrop(element, target).perform();

6.9鼠标悬停(Mouse MoveOn)


  1. Actions builder = new Actions(driver)

  2. builder.moveToElement(driver.findElement(locator)).perform();

感谢每一个认真阅读我文章的人,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:

这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你!有需要的小伙伴可以点击下方小卡片领取