回想一下以前的十幾章,我們講了自動化環境發搭建,講了TestNg框架,講了如何通過firebug定位桌面元素,還通過一些代碼詳解了測試集合,測試排序,斷言等等。大家如果按照我講的順序一點點的搭建環境,一點點的擼代碼,現在一定對自動化有一定的理解,也會寫一些簡單的小腳本了。今天就進入一些比較復雜的自動化腳本了。剛關注本號的同學,可以一點點從前面學起。
以后的幾節,咱們都會講Webdriver的常用API使用辦法。
請仔細看以下方法,記住注釋。記錄一下喲。
package cn.autotest;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.firefox.FirefoxDriver;
import org.testng.annotations.Test;
public class WebDriverApi {
public WebDriver wd;
static String actual = null;
String baiduurl="https://www.baidu.com";//要訪問的網站
String sogourl ="https://www.sogo.com";//訪問的第二個網站
@Test(priority=1)
public void visitbaidu () throws InterruptedException{
this.beforeTest();//調用啟用火狐瀏覽器的方法
wd.get(baiduurl);//訪問百度
Thread.sleep(3000);//為了觀察准確讓線程睡一會
wd.close();//為了不混淆,每次都關閉
}
@Test(priority=2)
//訪問的第二種方法
public void visitsohu () throws InterruptedException{
this.beforeTest();//調用啟用火狐瀏覽器的方法
wd.navigate().to(sogourl);//注意和第一次用的方法不一樣。
Thread.sleep(3000);//為了觀察准確讓線程睡一會
wd.close();//為了不混淆,每次都關閉
}
@Test(priority=3)
//返回上一個訪問的網頁,模擬瀏覽器后退操作,模擬瀏覽器的刷新操作
public void visitreturn() throws InterruptedException {
this.beforeTest();//調用啟用火狐瀏覽器的方法
wd.get(baiduurl);
Thread.sleep(3000);//為了觀察准確讓線程睡一會
//利用refresh()方法,模擬刷新瀏覽器操作。
wd.navigate().refresh();
Thread.sleep(3000);//為了觀察准確讓線程睡一會
wd.get(sogourl);
Thread.sleep(2000);//為了觀察准確讓線程睡一會
//利用此方法返回上一個結果
wd.navigate().back();
wd.close();//為了不混淆,每次都關閉
}
public void beforeTest(){
//啟動火狐瀏覽器
System.setProperty("webdriver.firefox.bin", "C:\\Program Files\\Mozilla Firefox\\firefox.exe");
wd = new FirefoxDriver();
}
}
有心的同學,會發現,第一次打開了百度,然后關閉。第二次打開了搜狗然后關閉。第三次。打開百度,刷新一下,然后打開了搜狗,又返回了百度。看看是這個順序嗎?沒記住的話,再執行一遍看對嗎?
上述一段代碼共講了兩種訪問網站的方法get.() 以及navigate().to()。一種刷新瀏覽器的方法 navigate().refesh() 。還有返回上一次瀏覽網頁的方法navigate().back()。是不是很簡單。一會涉及到返回的,刷新的就可以用這些方法了。
碼字不易,給點支持。分享給有需要的測試同學喲!歡迎關注 公 眾 號 王大哥自動化測試 更新更早,更及時