java+selenium学习

初始化对象

    webDriver driver = new ChromeDriver();
    driver.get("http://itest.info");
    String title = driver.getTitle();
    driver.close()

验证浏览器驱动

webdriver driver = new ChromeDriver();
.......................FirefoxDriver();

定位方式

  • id
  • name
  • class name
  • tag name
  • link text
  • partial link text
  • xpath
  • css selector

这8种定位方式在java selenium种所对应的方法为:

  • driver.findElement(By.id())
  • driver.findElement(By.name())
  • driver.fidnElement(By.className())
  • driver.fidnElement(By.tagName())
  • driver.findElement(By.linkText())
  • driver.findElement(By.partialLinkText())
  • driver.findElement(By.xpath())
  • driver.findElement(By.cssSelector())

控制浏览器窗口大小

webDriver提供了mange().window().setSize()方法来设置浏览器的大小。

  • maximize()设置浏览器最大化
  • setSize()设置浏览器宽高
import org.openqa.selenium.Dimension;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;
 
 
public class Browser {
  public static void main(String[] args) throws InterruptedException {
 
    WebDriver driver= new ChromeDriver();
    driver.get("https://www.baidu.cn");
 
    driver.manage().window().maximize();
    Thread.sleep(2000);
 
    driver.get("https://m.baidu.cn");
    driver.manage().window().setSize(new Dimension(480, 800));
    Thread.sleep(2000);
 
    driver.quit();
  }
}

在PC端执行自动化测试脚本大多情况下是希望浏览器在全屏幕模式下执行,那么可以使用maximize()方法使打开的浏览器全屏显示,其用法与setSize()相同,但它不需要任何参数。

控制浏览器后退、前进

webDriver也提供了对应的back()和forward()方法来模拟后退前进按钮。

  • back()模拟浏览器后退按钮
  • forward()模拟浏览器前进按钮
  • driver.navigate().back()
  • driver.navigate().forward()
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;
import org.openqa.selenium.By;
 
 
public class BrowserGo {
 
  public static void main(String[] args) throws InterruptedException {
 
    WebDriver driver = new ChromeDriver();
 
    //get 到百度首页
    driver.get("https://www.baidu.com/");
    System.out.printf("now accesss %s \n", driver.getCurrentUrl());
    Thread.sleep(2000);
 
    //点击“新闻” 链接
    driver.findElement(By.linkText("新闻")).click();
    System.out.printf("now accesss %s \n", driver.getCurrentUrl());
    Thread.sleep(2000);
 
    //执行浏览器后退
    driver.navigate().back();
    System.out.printf("back to %s \n", driver.getCurrentUrl());
    Thread.sleep(2000);
 
    //执行浏览器前进
    driver.navigate().forward();
    System.out.printf("forward to %s \n", driver.getCurrentUrl());
    Thread.sleep(2000);
 
    driver.quit();
  }
}

刷新页面

有时候需要手动刷新(F5)页面。

  • refresh()刷新页面(F5)
driver.navigate().refresh();

webdriver常用方法

  • clear()清除文本
  • sendKey(*value)模拟按键输入
  • click()单击元素
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.chrome.ChromeDriver;
 
public class BaiduDemo {
 
  public static void main(String[] args) {
 
    WebDriver driver = new ChromeDriver();
    driver.get("https://www.baidu.com/");
 
    WebElement search_text = driver.findElement(By.id("kw"));
    WebElement search_button = driver.findElement(By.id("su"));
 
    search_text.sendKeys("Java");
    search_text.clear();
    search_text.sendKeys("Selenium");
    search_button.click();
 
    driver.quit();
  }
}

clear()方法用于清除文本输入框种的内容。
sendKey()方法模拟按键向输入框里输入内容。但是它的作用不仅于此,我们还可以用它发送键盘按键,甚至用它来指定上传的文件。
click()方法可以用来单击一个元素,前提是它是可以被单击的对象,它与sendKeys()方法是Web页面操作种最常用到的两个方法。其实click()方法不仅仅用于单击一个按钮,它还可以单击任何可以单击的文字/图片链接、复选框、单击框、下拉框等。

2.其它常用方法

  • submit()
    submit()方法用于提交表单。例如,在搜索输入关键字之后的"回车"操作,就可以通过submit()方法模拟。
……
webElement search_text=driver.findElement(By.id("kw"));
search_text.sendKeys("Selenium");
search_text.submit();
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值