TestNG(五)常用元素的操作
原则先定位元素,然后对元素进行操作。
一、点击操作
//用name方法查找元素
WebElement keyfind = driver.findElement(By.name("tj_trnews"));
//对查找到的元素点击操作
keyfind.click();
二、对页面输入框输入
//查找输入框元素
WebElement ID = driver.findElement(By.id("kw"));
//输入框输入“selenium”
ID.sendKeys("selenium");
三、清空文本框
//查找输入框元素
WebElement keys = driver.findElement(By.id("kw"));
//输入框输入“selenium”
keys.sendKeys("selenium");
//查找点击按钮元素
Thread.sleep(5000);
keys.click();
四、获取文本框的值
getText只能是获取到标签中间的值。
例如:百度首页上面的新闻,地图,都算是标签中间的值。
五、
六、
一、点击操作
例1、用谷歌浏览器打开百度首页,找到新闻页面,对他进行点击操作。然后关闭浏览器。
package webtest; import org.openqa.selenium.By; import org.openqa.selenium.WebDriver; import org.openqa.selenium.WebElement; import org.openqa.selenium.chrome.ChromeDriver; import org.testng.Assert; import org.testng.annotations.AfterMethod; import org.testng.annotations.BeforeMethod; import org.testng.annotations.BeforeTest; import org.testng.annotations.Test; /** * Created by Yeastar on 2018/4/24. * 打开百度,点击 */ public class Webtest { WebDriver driver; @BeforeMethod public void tetsCast1()throws InterruptedException{ System.setProperty("webdriver.chrome.driver","F:\\WebTest\\driver\\chromedriver.exe"); driver = new ChromeDriver(); driver.get("https://www.baidu.com"); Thread.sleep(5000); }
例2
打开百度首页页面,找到输入框,输入selenium,并且点击搜索按钮,最后校验是否正确跳转到页面。
注意下面一段代码中,加了一个等待。如果没有这个等待这个cast可能会跑不通过。
原因是:当我输入框输入点击时,要跳转到另外一个界面,这时候页面可能还没有渲染出来,还停留在原来的页面,这样接下去的校验就会错误。导致我们的case跑不通过。
解决方法:所以记得在页面跳转的时候最好增加一个等待时间,确保页面加载出来再进行校验。
可以先用sleep,在接下来有更优的方式。
@Test public void sendkeystest()throws InterruptedException{ //查找输入框元素 WebElement ID = driver.findElement(By.id("kw")); //输入框输入“selenium” ID.sendKeys("selenium"); //查找点击按钮元素 WebElement baiudBUttom =driver.findElement(By.id("su")); //对找到的元素点击 baiudBUttom.click(); //等待5S,这里注意到等待页面加载出来,要不然页面没有加载出来,下面的校验可能会失败 Thread.sleep(5000); driver.getTitle(); String title =driver.getTitle(); Assert.assertEquals(title,"selenium_百度搜索"); }
例3、清空文本框操作 ,为了使效果看的明显一些,加等待时间。
@Test public void clearkeystest()throws InterruptedException{ //查找输入框元素 WebElement keys = driver.findElement(By.id("kw")); //输入框输入“selenium” keys.sendKeys("selenium"); //查找点击按钮元素 Thread.sleep(5000); keys.click(); Thread.sleep(5000); }