Java+Selenium3方法篇27-利用JS处理元素高亮显示

       这篇来玩一个好玩的测试,就是利用javascript让测试过程中的元素高亮显示,例如在登录框,让输入框背景颜色设置成黄色,边框设置2个像素,颜色是红色。这个问题,我在一家公司的笔试题上看见过,所以这里就实现了测试下。相关脚本如下。

package lessons;

import java.util.concurrent.TimeUnit;

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

public class ElementOpration {
	public static void main(String[] args) throws Exception {  
        
        System.setProperty("webdriver.chrome.driver", ".\\Tools\\chromedriver.exe");  
           
        WebDriver driver = new ChromeDriver();  
     
        driver.manage().window().maximize();  
       
        driver.manage().timeouts().implicitlyWait(5, TimeUnit.SECONDS);
          
        driver.get("https://www.baidu.com/");  
       
        Thread.sleep(2000);
        
        // 点击登录
        driver.findElement(By.xpath("//*[@id='u1']/a[7]")).click();
        Thread.sleep(500);
        
        WebElement username = driver.findElement(By.id("TANGRAM__PSP_8__userName"));
        
        // 创建一个JavascriptExecutor对象
        JavascriptExecutor js= (JavascriptExecutor)driver;
        
        username.sendKeys("abcdefg");
        // 设置颜色
        js.executeScript("arguments[0].setAttribute('style', 'background: yellow; border: 2px solid red;');",username);
        
        WebElement password = driver.findElement(By.id("TANGRAM__PSP_8__password"));
        js.executeScript("arguments[0].setAttribute('style', 'background: yellow; border: 2px solid red;');",password);
        
       
    }  
}
       运行结果:输入过程不会变颜色,输入结束,里面变成我们想要的红色边框和黄色背景。这个效果,好像在公司里面给别人颜色demo,看起来很酷,其他的好像没有多大用处。


Java+Selenium中,我们可以使用断言来验证页面元素是否存在或者是否具有特定的属性值。以下是一些常见的页面元素断言方法: 1. 验证元素是否存在:我们可以使用`findElement`方法来查找元素,如果元素存在,则会返回一个WebElement对象,然后使用`assertNotNull`方法来验证该对象是否为空,如果不为空,则说明元素存在。 ``` WebElement element = driver.findElement(By.id("elementId")); assertNotNull(element); ``` 2. 验证元素文本内容:我们可以使用`getText`方法来获取元素的文本内容,然后使用`assertEquals`方法来验证文本是否和预期的一致。 ``` WebElement element = driver.findElement(By.id("elementId")); String actualText = element.getText(); String expectedText = "Hello World!"; assertEquals(expectedText, actualText); ``` 3. 验证元素属性值:我们可以使用`getAttribute`方法来获取元素的属性值,然后使用`assertEquals`方法来验证属性值是否和预期的一致。 ``` WebElement element = driver.findElement(By.id("elementId")); String actualValue = element.getAttribute("value"); String expectedValue = "123456"; assertEquals(expectedValue, actualValue); ``` 4. 验证元素是否可见:我们可以使用`isDisplayed`方法来验证元素是否可见,如果元素可见,则返回true,否则返回false。 ``` WebElement element = driver.findElement(By.id("elementId")); assertTrue(element.isDisplayed()); ``` 这些方法只是Java+Selenium中常用的一些页面元素断言方法,根据实际情况,我们还可以使用其他的断言方法来验证页面元素
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值