1. 程式人生 > >TestNG(五)常用元素的操作

TestNG(五)常用元素的操作

新聞 輸入框 package ava 最好 div https set 標簽

原則先定位元素,然後對元素進行操作。

一、點擊操作

//用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); }

  

TestNG(五)常用元素的操作