jck28-lucio-常见控件交互方法

目录

  • 元素操作
  • 获取元素属性信息

点击,输入,清空

import org.junit.jupiter.api.AfterAll;
import org.junit.jupiter.api.BeforeAll;
import org.junit.jupiter.api.Test;
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;

import java.time.Duration;

public class InteractionsTest {
public static WebDriver driver;

@BeforeAll
static void setUpAll() {
    driver = new ChromeDriver();
    //显式等待
    driver.manage().timeouts().implicitlyWait(Duration.ofSeconds(10));
}
@AfterAll
static void tearDownAll() {
    driver.quit();
}
@Test
void interactionDemo(){
    driver.get("https://www.sogou.com/");
    // 输入霍格沃兹测试开发
    driver.findElement(By.id("query")).sendKeys("霍格沃兹测试开发");
    // 清空输入框
    driver.findElement(By.id("query")).clear();
    // 点击搜索
    driver.findElement(By.id("stb")).click();
}

}

获取元素属性信息

  • 原因:
    • 定位到元素后,获取元素的文本信息,属性信息等
  • 目的:
    • 根据这些信息进行断言或者调试
  • 演练地址: 霍格沃兹测试开发

获取元素属性信息的方法

  • 获取元素文本
  • 获取元素的属性(html的属性值)
import org.junit.jupiter.api.AfterAll;
import org.junit.jupiter.api.BeforeAll;
import org.junit.jupiter.api.Test;
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;

import java.time.Duration;

public class InteractionsTest {
    public static WebDriver driver;
    @BeforeAll
    static void setUpAll() {
        driver = new ChromeDriver();
        //显式等待
        driver.manage().timeouts().implicitlyWait(Duration.ofSeconds(10));
    }
    @AfterAll
    static void tearDownAll() {
        driver.quit();
    }
    @Test
    void interactionDemo2(){
        driver.get("https://vip.ceshiren.com/#/ui_study");
        // 获取元素文本
        String text = driver.findElement(By.id("frame")).getText();
        // 获取这个元素的name属性的值
        String text2 = driver.findElement(By.id("locate_id")).getAttribute("name");
        System.out.println(text);
        System.out.println(text2);
    }
}