【Selenium】常用断言及Assert常用方法

一、项目中我常用的断言方式:

  • 根据页面URL
  • 页面的标题
  • 页面的提示信息
  • 页面关键字
  • 以及一些逻辑处理后的元素信息等方式

二、断言——Assert(继承于Object)的一些方法

AssertEquals(String actual, String expected)

Assert.assertTrue(Boolean)

有时候 同一个场景,既可以用 AssertEquals也可以用Assert.assertTrue做断言

1、判断实际和期望——在某个位置应该有什么提示——比较【实际结果】是否等于【期望结果】

     AssertEquals(String actual, String expected)——如果不相等就报错

//获取提示框的文本内容,期望是"请输入密码"
String actual = driver.findElementByXPath
("//div[@class='form-error-info']").getText();
String expected = "请输入密码";
Assert.assertEquals(actual,expected)
2、判断是否为true——在某个位置有什么东西出现(比如从无到有)

     Assert.assertTrue()——如果不是true就报错

    比如密码错误 出现一个【错误提示】能定位到该元素,即该元素不为空就是true

//提示弹窗"帐号或密码错误!"
WebElement element = driver.findElementByXPath("//div[text()='帐号或密码错误!']");
Assert.assertTrue(element != null);

3、用URL做断言的场景示例:

通过url断言的两种方式
//1、显示等待 等待url包含XXX  等不到就报错不为true,就报错
        WebDriverWait wait = new WebDriverWait(driver,5);
        Boolean flag = wait.until(ExpectedConditions.urlContains("http://8.129.91.152:8765/Index/index111"));
        Assert.assertTrue(flag);
​
//2、硬等待 浏览器自身的跳转,取出当前浏览器的url与期望对比
        Thread.sleep(1000);
        String actualUrl = driver.getCurrentUrl();
        String expectedUrl = "http://8.129.91.152:8765/Index/index";
        Assert.assertEquals(actualUrl,expectedUrl);

你可能感兴趣的:(selenium,UI自动化测试,selenium,测试工具)