本文來講一下ui自動化的環境搭建,以及最初級的打開網頁操作
說起ui自動化,想想大概是前年的時候我開始接觸和學習的吧,怎么說呢無論是pc還是app,ios還是android,確實很神奇而且很華麗,但是成本很高,華而不實,對於測試而言恐怕編寫成本和維護成本很高,但是收益比較有限,較為適合大公司吧,小公司建議謹慎使用,進入小公司做ui自動化的人也要注意,很難出成績而且容易被開除,一般的出現了ui問題,往往客戶會比你更快發現,我為了實現ui自動化用了失敗重跑,連續錯誤才報錯,郵件,關鍵字驅動等等總算是有一定的成就,,,這些事情將來再說
本文講的是ui自動化是一個比較極端而且最簡單的場景,刷訪問量,,,
比方說一個網站或者是博客園的網站吧,有時候會有訪問量,這時候如果用人手去刷會很痛苦,但是不刷又上不去,我們學了ui自動化后會想,也許我能把自動化為我所用?然后本文來大概介紹一下,基本從零開始吧
所謂的ui自動化原理,網上有很多介紹,我還是使用java來做,本人並不是想說我比他人強,說的透徹,所以大家可以先去這個地方來簡單了解一下ui自動化原理http://www.cnblogs.com/TankXiao/archive/2012/03/29/2418219.html,這哥們確實比較nb,可惜還是一直在做測試,哎,很無語
我先大概說一下,所謂ui自動化,主要是使用代碼方式(java或者python或者其他)來啟動一個特定的瀏覽器driver,實現打開瀏覽器並利用該瀏覽器做一些代碼可以操縱的操作,然后利用代碼對頁面中一些東西進行校驗,從而達到與人打開頁面檢測的相同效果,所以我們可以明白,java的ui自動化主要是幾個部分,本地java環境->selenium jar包->java代碼啟動瀏覽器(一般在before中)->一些操作->關閉瀏覽器(一般在after中)->從新打開一個瀏覽器->下一個流程校驗->,,,
故首先讀者應下載一個selenium的jar包導入工程,在下載一個瀏覽器的模擬器然后創建一個方法,寫上如下代碼
package zlr
import org.junit.After;
import org.junit.Before;
import org.junit.Test;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;
import static org.junit.Assert.fail;
public class testzhiyinlou {
private WebDriver driver;//聲名一個driver
private StringBuffer verificationErrors = new StringBuffer();
@Before
public void setUp() throws Exception {
System.setProperty("webdriver.chrome.driver", "E:\\driver\\chromedriver.exe");//指定要啟動的瀏覽器driver路徑
driver = new ChromeDriver();
}
@After
public void TearDown() throws Exception {
driver.quit();//結束后瀏覽器退出
String verificationErrorString = verificationErrors.toString();
if (!"".equals(verificationErrorString)) {
fail(verificationErrorString);
}
}
@Test
public void testszlr1() throws Exception {
driver.get("https://www.cnblogs.com/xuezhezlr/p/9127378.html");//瀏覽器打開一個網頁
}
}
上文中代碼已經注釋的比較完整了,針對ui自動化而言,代碼中會把要打開和操作的瀏覽器定為一個driver,而相關的操作都要在這個driver中進行的,讀者需要從一些網站上下載selenium包和要打開的瀏覽器的driver,下載后寫上上面的代碼不報錯說明,各個包是沒啥問題的
按照道理說,點擊執行就可以執行了,但是還沒有執行,是為啥呢?
主要是因為代碼中windows(或者mac)->java版本(1.6,1.7,1.8?)->selenium版本->瀏覽器版本不兼容導致的問題,出現上述問題,應重新下載新的瀏覽器driver來操作
針對driver而言呢,總得來說,是這樣的,火狐瀏覽器是不需要配置的,會使用自己自帶的driver,但是不保證能打開頁面並對元素進行操縱,其他瀏覽器基本都是要使用driver的,還有幾個比較特殊的瀏覽器,無痕瀏覽器,不會在電腦上出現頁面進行操作,而是直接使用內核來進行操作
上述就是ui自動化的演示,總得來說可以在頁面中打開多個瀏覽器並刷訪問量,另一方面可以利用定時任務來控制刷的頻率