java+selenium3

一、环境搭建

1、JDK安装(配置环境变量)
2、selenium下载
3、测试Demo
public static void main(String[] args) throws InterruptedException {
    //todo System.setProperty(String key,String value):设置指定键值对的系统属性
    System.setProperty("webdriver.chrome.driver","D:/自动化测试/chromedriver_win32/chromedriver.exe");
    WebDriver driver=new ChromeDriver();
    driver.get("http://www.baidu.com");
    driver.findElement(By.id("kw")).sendKeys("巡阴人");
    driver.findElement(By.id("su")).click();
    Thread.sleep(2000);
    driver.close();
}
复制代码
4、八大定位元素
public static void main(String[] args) throws InterruptedException {
    //todo System.setProperty(String key,String value):设置指定键值对的系统属性
    System.setProperty("webdriver.chrome.driver","D:/自动化测试/chromedriver_win32/chromedriver.exe");
    WebDriver driver=new ChromeDriver();
    driver.get("http://www.baidu.com");
    //todo 1.根据id属性选择元素
    driver.findElement(By.id("kw")).sendKeys("逆流成河");
    //todo 2.根据name属性选择元素
    driver.findElement(By.name("wd")).sendKeys("逆流成河");
    //todo 3.根据class属性选择元素
    driver.findElement(By.className("s_ipt")).sendKeys("逆流成河");
    //todo 4.根据xpath选择元素
    driver.findElement(By.xpath("//*[@id='kw']")).sendKeys("逆流成河");
    //todo 5.根据css选择器选择元素(常用)
    driver.findElement(By.cssSelector("#kw")).sendKeys("逆流成河");
    //todo 6.根据链接文本选择元素
    driver.findElement(By.linkText("新闻")).click();
    //todo 7.根据链接部分文本选择元素
    driver.findElement(By.partialLinkText("新")).click();
    //todo 8.根据标签名选择元素
    driver.findElement(By.tagName("input")).sendKeys("逆流成河");
    Thread.sleep(2000);
    driver.close();
}
复制代码
5、常用方法
public static void main(String[] args) throws Exception {
    //todo 5.System.setProperty(String key,String value):设置指定键值对的系统属性
    System.setProperty("webdriver.chrome.driver","D:/自动化测试/chromedriver_win32/chromedriver.exe");
    WebDriver driver=new ChromeDriver();
    driver.get("http://www.baidu.com");
    //todo 1.sendKeys:输入值
    driver.findElement(By.id("kw")).sendKeys("逆流成河");
    //todo 2.getAttribute:获取属性值
    System.out.println(driver.findElement(By.id("kw")).getAttribute("name"));
    //todo 3.清除操作
    driver.findElement(By.id("kw")).clear();
    //todo 4.元素是否显示(boolean)
    System.out.println(driver.findElement(By.id("kw")).isDisplayed());
    //todo 6.getText:获取值
    System.out.println(driver.findElement(By.linkText("新闻")).getText());
    //todo 7.最大化窗口
    driver.manage().window().maximize();
    //todo 8.元素是否被选择(多用于单选框、复选框)(boolean)
    System.out.println(driver.findElement(By.id("kw")).isSelected());
    //todo 9.submit:提交操作
    driver.findElement(By.id("kw")).sendKeys("逆流成河");
    driver.findElement(By.id("su")).submit();
    driver.findElement(By.id("su")).click();
    //todo 10.getWindowHandle:获取窗口句柄
    System.out.println(driver.getWindowHandle());
    //todo 11.getCurrentUrl:获取url
    System.out.println(driver.getCurrentUrl());
    Thread.sleep(2000);
    driver.close();
}
复制代码
6、悬停和下拉框以及复合定位
public static void main(String[] args) throws Exception {
    System.setProperty("webdriver.chrome.driver","D:/自动化测试/chromedriver_win32/chromedriver.exe");
    WebDriver driver=new ChromeDriver();
    driver.get("http://www.baidu.com");
    //todo clickAndHold:悬停
    Actions action=new Actions(driver);
    action.clickAndHold(driver.findElement(By.cssSelector("#u1 > a.pf"))).perform();
    Thread.sleep(2000);
    driver.findElement(By.cssSelector("#wrapper > div.bdpfmenu > a.setpref")).click();
    Thread.sleep(2000);
    //todo 下拉框
    Select select=new Select(driver.findElement(By.cssSelector("#nr")));
    //todo 1.selectByIndex:根据索引选择
    select.selectByIndex(1);
    //todo 2.selectByValue:根据值选择
    select.selectByValue("50");
    //todo 3.selectByVisibleText:根据下拉文本值选择
    select.selectByVisibleText("每页显示10条");
    //todo 4.getOptions().get(i):获取列表项通过点击选择
    select.getOptions().get(2).click();
    for(int i=0;i<select.getOptions().size();i++){
        select.getOptions().get(i).click();
        Thread.sleep(2000);
    }
    //todo 复合定位(定位一组元素)
    for(int i=0;i<driver.findElements(By.name("SL")).size();i++){
        driver.findElements(By.name("SL")).get(i).click();
        Thread.sleep(1000);
    }
    Thread.sleep(2000);
    driver.close();
}
复制代码
7、frame操作和文件上传
public static void main(String[] args)throws Exception {
    System.setProperty("webdriver.chrome.driver","D:/自动化测试/chromedriver_win32/chromedriver.exe");
    WebDriver driver=new ChromeDriver();System.setProperty("webdriver.chrome.driver","D:/自动化测试/chromedriver_win32/chromedriver.exe");
    driver.get("https://mail.qq.com/cgi-bin/loginpage");
    driver.manage().window().maximize();
    //todo frame
    //todo driver.switchTo().frame(WebElement):切换到frame页
    driver.switchTo().frame(driver.findElement(By.id("login_frame")));
    driver.findElement(By.id("u")).sendKeys("2788386852@qq.com");
    driver.findElement(By.id("p")).sendKeys("XIAOqin=900216");
    driver.findElement(By.id("login_button")).click();
    Thread.sleep(2000);

    driver.findElement(By.id("composebtn")).click();
    driver.switchTo().frame(driver.findElement(By.id("mainFrame")));
    Thread.sleep(5000);
    driver.findElement(By.cssSelector("#toAreaCtrl > div.addr_text > input")).sendKeys("734867098@qq.com");
    driver.findElement(By.id("subject")).sendKeys("xunyinren");
    //todo 上传附件
    //todo sendKeys(文件路径)
    driver.findElement(By.name("UploadFile")).sendKeys("C:\\Users\\Administrator\\Desktop\\123987.sql");
    //todo driver.switchTo().defaultContent():返回默认页面
    driver.switchTo().defaultContent();
    Thread.sleep(2000);
    driver.findElement(By.id("readmailbtn_link")).click();
}
复制代码

二、测试框架TestNg

转载于:https://juejin.im/post/5c6ba34351882562d17d9626

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值