自动化测试--WebDriver API

1. 元素定位方法

  1. 通过 ID 定位:如果元素具有唯一的 ID 属性,可以使用 findElement(By.id("elementId")) 方法来定位元素。
  2. 通过 Name 定位:使用 findElement(By.name("elementName")) 来查找具有指定名称的元素。
  3. 通过 Class Name 定位:通过 findElement(By.className("className")) 定位具有特定类名的元素。
  4. 通过 Tag Name 定位:例如 findElement(By.tagName("input")) ,可根据元素的标签名进行定位。
  5. 通过 Link Text 定位:对于链接元素,可使用 findElement(By.linkText("链接文本")) 。
  6. 通过 Partial Link Text 定位:如果只知道链接文本的一部分,使用 findElement(By.partialLinkText("部分链接文本")) 。
  7. 通过 CSS 选择器定位:findElement(By.cssSelector("#idValue")) 或者 .className 等 CSS 选择器规则。
  8. 通过 XPath 定位:这是一种非常强大和灵活的定位方式,例如 findElement(By.xpath("//input[@id='elementId']")) 。

2. 操作测试对象

  1. 点击元素:找到元素后,使用 click() 方法进行点击操作,例如 element.click() 
  2. 输入文本:使用 sendKeys() 方法向输入框输入文本,如 element.sendKeys("输入的文本") 
  3. 提交表单:对于表单元素,可以使用 submit() 方法提交表单,例如 formElement.submit() 
  4. 获取元素文本:通过 getText() 方法获取元素的显示文本,如 element.getText() 
  5. 获取html属性:通过getAttribute()方法获取对应的属性值
  6. 获取页面标题:通过getTitle()方法
  7. 获取页面url:通过getCurrentUrl()方法

3. 添加等待 

如果在进行搜索后马上对结果进行检查,页面可能还没有加载完成,此时检查可能会误判,可以添加等待来等待页面加载完成后再检查。

sleep休眠:只需调用Thread类中的sleep方法即可:

package org.example;

import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.chrome.ChromeDriver;

import java.util.List;

import static java.lang.Thread.sleep;

public class Main {
    public static void main(String[] args) throws InterruptedException {
        test1();
    }
    public static void test1() throws InterruptedException {
        //启动chrome浏览器
        WebDriver webDriver = new ChromeDriver();

        //打开百度
        webDriver.get("https://www.baidu.com");

        //定位到输入框
        WebElement input = webDriver.findElement(By.name("wd"));
        input.sendKeys("自动化测试");

        //定位搜索按钮
        WebElement button = webDriver.findElement(By.id("su"));
        button.click();

        sleep(2000);

        //检查搜索结果
        List<WebElement> elements = webDriver.findElements(By.tagName("em"));
        for(WebElement element : elements) {
            if(element.getText().equals("自动化测试")) {
                System.out.println("测试通过");
            }else{
                System.out.println("测试失败");
            }
        }
    }
}
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Ting-yu

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值