Ⅰ Web UI自動化測試之Selenium3
一、WebDriver(import org.openqa.selenium.WebDriver)操作瀏覽器
selenium通過WebDriver對象來定位頁面元素
1、打開瀏覽器
打開火狐瀏覽器:
WebDriver driver = new FireFoxDriver();
打開IE瀏覽器:
WebDriver driver = new InternetExplorerDriver();
打開chrome瀏覽器
WebDriver driver = new ChromeDriver();
2、最大化瀏覽器
driver.manage().window().maximize();
3、關閉瀏覽器
driver.close();
driver.quit();
4、打開測試頁面
driver.get("http:www..com");
二、By(org.openqa.selenium.By) 定位頁面元素
selenium通過By對象來定位頁面元素
1、By.id 通過ID定位頁面元素
By.id("UserCode")
2、By.name 通過name定位頁面元素
By.id("UserCode")
3、By.className 通過className定位頁面元素
By.className("input_class")
4、By.linkText 精確查找
drive.get("http://www..com");
By.linkText("網路");
5、By.partialLinkText 模糊查找
driver.get("http://www..com");
By.partialLinkText("網路");
6、By.tagName
dirver.get("http://www..com");
By.tagName("input");
三、WebElement(org.openqa.selenium.WebElement)操作頁面元素
selenium通過WebElement對象來操作頁面元素
1、操作輸入框
WebElement inputElement = driver.findElement(By.id("UserCode"));//查找登錄頁面錄入用戶名元素
inputElement.setKeys("wyl");//輸入框錄入用戶名wyl
inputElement.clear();//清空輸入框
inputElement.getText();//獲得輸入框中的內容
2、操作單選框
WebElement radioElement = driver.findElement(By.id("Orders"));
radioElement.click();// 選擇某個單選項
radioElement.clear();// 清空某個單選項
radioElement.isSelected();// 判斷某個單選項是否已被選擇
3、操作多選框
WebElement checkboxElement = driver.findElement(By.id("Orders"));
checkboxElement.click();// 選擇某個多選項
checkboxElement.clear();// 清空某個多選項
checkboxElement.isSelected();//判斷某個多選項是否已被選擇
4、操作下拉框
Select select = new Select(per.findElement(By.id("region")));
select.selectByVisibleText("北京市");
select.selectByText("10010");
select.deselectAll();
select.deselectByVisibleText("北京市");
select.deselectByText("10010");
select.getAllSelectedOptions();
select.getFirstSelectedOption();
5、操作上傳文件
WebElement uploadElement = driver.findElement(By.id("file"));
String uploadFile = "D:1AgentCode.txt";
uploadElement.setKeys(uploadFile);
6、操作按鈕
WebElement btnElement = driver.findElement(By.id("add"));
btnElement.click();
btnElement.isEnabled();
7、表單提交
WebElement formElement = driver.findElement(By.id("fm"));
fromElement.submit();
8、操作彈出對話框
Alert alert = driver.swichTo().alert();
alert.getText();//獲得彈出框內容
alert.accept();//點擊彈出框確認按鈕
alert.dismiss();//點擊彈出框取消按鈕
9、Windows和Frames之間的切換
driver.switchTo().defaultContent();//返回到最頂層的frame
driver.switchTo().frame("leftMenuFrame");//切換到左側菜單frame
driver.switchTo().window("windowName");//切換到某個windows
10、超時設置
driver.manage().timeouts().implicitly(10,timeUnit.Seconds);//識別元素時的超時時間
driver.manage().timeouts().pageLoadTimeout(10,timeUnit.Seconds);//頁面載入時的超時時間
driver.manage().timeouts().setScriptTimeout(10,timeUnit.Seconds);//非同步腳本的超時時間
四、調用js
JavascriptExecutor js = (JavascriptExecutor)driver;
js.executeScript("JS腳本");
五、Selenium官方
1、官方download包下載地址
http://code.google.com/p/selenium/downloads/list
2、官方User Guide
http://seleniumhq.org/docs/
3、API
http://selenium.googlecode.com/git/docs/api/java/index.html
Ⅱ web自動化測試時,frame框架是如何切換頁面frame的
說明:在Selenium中封裝了如何切換frame框架的方法
方法:
1). driver.switch_to.frame(frame_reference) --> 切換到指定frame的方法
frame_reference:可以為frame框架的name、id或者定位到的frame元素
2). driver.switch_to.default_content() --> 恢復默認頁面方法
Web自動化測試有很多問題都在黑馬程序員社區有答案,可以去看看
Ⅲ web自動化測試
目前越來越多的人想學自動化測試,認為自動化測試好牛逼。經常在測試交流群里看見有HR發招聘廣告說:招初級(功能測試),招中級(性能測試),招高級(自動化測試)......
我不去討論他們這個初中高級的說法對不對,我只是覺得,越來越多的公司都希望把自動化測試做起來了。於是,市場給我們提了個要求,測試如果掌握了自動化,那麼工資會怎麼怎麼樣。
而對於自動化測試,其實又可以分為很多塊。見下圖:
同時根據平台也可以分成,Web自動化測試,App自動化測試等等。
我今天主要概括一下對於Web自動化測試而言,現在最火的一個工具----Selenium的學習思路。
1.首先,對於想學自動化測試的朋友,那麼你得懂一種語言,常用的比如Java或者Python。因為沒有語言基礎,你是寫不出自動化腳本的。
2.有了開發語言的鋪墊,那麼開始入手Selenium。了解它的發展,了解它的組成,了解它的實現原理。
3.當你對Selenium有了整體的了解後,可以開始學習了。實際上,我現在說的Selenium就是Selenium2。
4.(第一層次)首先你得知道:什麼是元素?怎麼去定位一個頁面元素?怎麼去控制元素?怎麼控制瀏覽器?.....學完這些,那麼恭喜你,你可以寫簡單頁面的自動化功能測試了。
5.(第二層次)熟練的編寫頁面自動化腳本:碰到復雜的頁面,比如嵌套很多,知道怎麼去跳轉。復雜元素,怎麼去定位,各種頁面元素的處理,比如表格、下拉框、彈出框等等。
6.(第三層次)熟練掌握上面技巧之後,開始學習怎麼將頁面元素與代碼分離,學習數據驅動(TestNG),以及怎麼樣結合Excel去做自動化測試。
7.(第四層次)學習持續集成的方法,怎麼樣將自動化測試更加「自動化」。同時,開始學習自動化測試框架,能夠根據產品的實際情況來編寫合適的測試框架。
以上,我認為大體就是學習web自動化測試的一個思路。都是個人觀點,而且由於時間原因,寫的不是很詳細,還請大家見諒。
Ⅳ 如何讓整個web頁面滑動切換
讓整個web頁面滑動切換方法如下:
解決辦法其實很簡單,採用AJAX刷新、CSS切換。這里還需要注意的是,只有在WebKit瀏覽器上能看到效果。(用PhoneGap做了一個測試應用,可以在Android和IOS系統上運行,所以只需要WebKit的兼容性。)
1、首先,看看對body標簽的css樣式,讓它有動畫效果:
2、接下來,給超鏈接添加點擊事件,讓它產生切換效果。
3、下一步是使用AJAX獲取到鏈接頁面
4、要達到切換效果,還需要以下步驟:
a.
滑動當前頁面到屏幕左側;
b.
瞬間移動當前頁面到屏幕右側;
c.
替換body裡面的內容;
d.
從屏幕右側滑入當前頁面對。
5、必須要遵循上面的步驟,不然不能達到預期的效果。
現在說一下詳細步驟:
a.移動body到屏幕的左側
b.寫個移動監聽事件
c.切換過程中,用戶可能會點擊後退按鈕,還需對此進行處理:
總結:基本的思路就這些,當然在實際操作過程中還有一些細節需要注意,這里就不詳細說了,都在代碼里能體現出來
Ⅳ web自動化測試計劃和步驟
測試用例:前置、步驟、斷言
項目周期長:功能會越來越復雜
歷史功能:比較穩定
回歸,歷史功能
開發-介面自動化同步
項目-8大模塊-2000左右用例數
1、熟悉業務
需求文檔/手動測試/產品聊,了解模塊之間的關系/測試人員
項目目前在測試的階段,棘手的問題
2、分析
系統當中哪些模塊適合自動化、哪些模塊不適合
歷史功能穩定性、功能復雜性
核心模塊
使用頻率模塊,哪一個模塊bug率目前偏高
測試團隊、產品 開會討論
篩選2個模塊 400個功能測試用例
如果是介面 ---介面有多少個,每個介面有多少個用例
3、功能測試 ---篩選自動化測試用例----核心功能、主流程、主功能點---140
用例評審===
4、自動化計劃
自動化類型:web/介面
框架選型:
團隊人員:
搭框架、定規范
時間規劃:用例編寫時間2個半月
效果:覆蓋率是多少---用例通過率---跟項目測試進度結合
Ⅵ web自動化中頁面多個滾動條時的拖動操作
當頁面中有多個滾動條控制顯示範圍時,拖動指定的滾動條,可以通過JS語句來實現document.querySelector('.summary').scrollTop=200;解釋: 1.通過在頁面中通過選擇器進行元素定位 2.將定位到的指定元素scrollTop屬性設置為200然後通過driver.execute_script()方法執行js語句即可,需要的小夥伴可以到傳智播客的社區看到相關操作的全部解答。傳智播客的官網也可以領取到相關的免費的公開課。
Ⅶ 如何讓整個web頁面滑動切換
讓整個web頁面滑動切換方法如下:
解決辦法其實很簡單,採用AJAX刷新、CSS切換。這里還需要注意的是,只有在WebKit瀏覽器上能看到效果。(用PhoneGap做了一個測試應用,可以在Android和IOS系統上運行,所以只需要WebKit的兼容性。)
1、首先,看看對body標簽的css樣式,讓它有動畫效果:
總結:基本的思路就這些,當然在實際操作過程中還有一些細節需要注意,這里就不詳細說了,都在代碼里能體現出來