自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

淺談Web自動化測試原理

開發(fā) 測試 自動化
本文介紹脫離這些自動化測試框架。直接使用.NET提供的shdocvm.dll庫來操作IE瀏覽器,使用mshtml.dll庫來操作IE中的HTML對象。

  目前市面上有很多Web UI自動化測試框架,比如WatiN, Selinimu,WebDriver,還有VS2010中的Coded UI等等. 這些框架都可以操作Web中的控件,模擬用戶輸入,點擊等操作,實現(xiàn)Web自動化測試。其實這些工具的原理都一樣,都是通過調(diào)用IE COM接口和HTML DOM 對IE瀏覽器以及WEB測試對象的操作。

  本文介紹脫離這些自動化測試框架。 直接使用.NET提供的shdocvm.dll庫來操作IE瀏覽器,使用mshtml.dll庫來操作IE中的 HTML對象。

  閱讀目錄

  優(yōu)點

  添加引用

  操作IE

  使用IE Develop Toolbar 查看HTML DOM

  操作IE中的HTML元素

  源代碼下載

  優(yōu)點

  通過直接操作IE COM來實現(xiàn)Web自動化,能讓你在幾分鐘之內(nèi)快速建立一個輕量型的自動化測試程序。 大大的提高了測試效率。 也有助于你理解WatiN這些自動化測試框架的運行原理.

  添加引用

  shdocvm.dll和mshtml.dll這兩個庫的COM組件名字和他們的dll名字不一樣。所以比較難找。

  shdocvm.dll 的COM 組件名字叫"Microsoft Internet Controls". 添加引用如下Add References->Com Tab-> Microsoft Internet Controls

  mshtml.dll的COM組件名字叫"Microsoft.mshtml", 添加引用如下Add References-> .NET Tab->Microsoft.mshtml

添加完引用后,就可以引用命名空間了

  usingmshtml;

  usingSHDocVw;

  操作IE

  通過shdocvm.dll中的InternetExplorer對象的屬性和方法, 比如Height,Width。我們能夠操作IE,以便模擬一些用戶的操作,比如調(diào)整瀏覽器的大小,刷新頁面等。

 

  1.   staticvoidMain(string[] args)  
  2.   {  
  3.   InternetExplorer IE = newInternetExplorer();  
  4.   IE.Visible = true;  
  5.   objectnil = newobject();  
  6.   stringCnblogUrl = "http://www.cnblogs.com";  
  7.   //打開IE并且打開博客園主頁  
  8.   IE.Navigate(CnblogUrl, refnil, refnil, refnil, refnil);  
  9.   Thread.Sleep(3000);  
  10.   //設置IE左上角的位置  
  11.   IE.Top = 10;  
  12.   IE.Left = 10;  
  13.   //設置IE的高度和寬度  
  14.   IE.Height = 800;  
  15.   IE.Width = 1000;  
  16.   //導航到百度主頁  
  17.  Thread.Sleep(3000);  
  18.   stringBaiduUrl = "http://www.baidu.com";  
  19.   IE.Navigate(BaiduUrl, refnil, refnil, refnil, refnil);  
  20.   //點擊后退按鈕  
  21.   Thread.Sleep(3000);  
  22.   IE.GoBack();  
  23.   //刷新IE  
  24.   Thread.Sleep(3000);  
  25.   IE.Refresh();  
  26.   //關(guān)閉IE  
  27.   Thread.Sleep(3000);  
  28.   IE.Quit();  
  29.  } 

 

  使用IE develop toolbar 查看HTML DOM

  下節(jié)中我們要操作HTML中的元素, 我們先需要知道這些控件的id, 使用IE Develop Toolbar或者firebug可以方便查看控件的id.

  按F12啟動IE Develop Toolbar, 或者點擊IE工具欄中的Tools->Develop Tools

從圖中可以看到博客園中的搜索textbox的id是"q"

  操作IE中的HTML元素

  模擬一個在博客園首頁進行搜索的場景。 模擬在文本框中輸入數(shù)據(jù), 然后點擊"找找看按鈕"。

  我們通過mshtml.dll庫里的getElementById()方法獲得你要操作的HTML元素的引用。 然后你可以操作這個對象,比如輸入值和點擊它

  staticvoidMain(string[] args)

  {

  InternetExplorer IE = newInternetExplorer();

  IE.Visible = true;

  objectnil = newobject();

  stringCnblogUrl = "http://www.cnblogs.com";

  //打開IE并且打開博客園主頁

  IE.Navigate(CnblogUrl, refnil, refnil, refnil, refnil);

  Thread.Sleep(3000);

  //獲取DOM對象

  HTMLDocument doc = (HTMLDocument)IE.Document;

  //博客園主頁上的搜索Textbox的id是 "q"

  HTMLInputElement SearchTextBox = (HTMLInputElement)doc.getElementById("q");

  SearchTextBox.value = "小坦克";

  //博客園主頁上的"找找看"按鈕的id是"btnBloggerSearch"

  HTMLInputElement SearchButton = (HTMLInputElement)doc.getElementById("btnBloggerSearch");

  SearchButton.click();

  }

  運行效果如下:

源代碼下載

  點擊這里,請用VS2008以上打開

  參考書籍:<.NET Test Automation Recipes>

責任編輯:彭凡 來源: 博客園
相關(guān)推薦

2011-01-20 10:17:25

ibmdwWeb

2011-06-03 17:24:48

自動化測試

2011-05-31 17:35:45

測試自動化QTP

2020-08-03 15:40:57

Web自動化工具測試

2011-06-08 17:15:46

QTP腳本

2011-11-18 09:11:21

Web

2023-09-02 20:22:42

自動化測試軟件開發(fā)

2009-09-22 11:58:00

ibmdwWeb

2021-08-17 09:00:00

架構(gòu)PythonWeb

2022-02-17 10:37:16

自動化開發(fā)團隊預測

2012-02-27 17:34:12

Facebook自動化

2021-09-03 09:56:18

鴻蒙HarmonyOS應用

2013-05-16 10:58:44

Android開發(fā)自動化測試

2014-04-16 14:15:01

QCon2014

2022-08-05 22:15:26

Python自動化測試

2011-12-23 17:09:57

自動化測試

2021-06-30 19:48:21

前端自動化測試Vue 應用

2012-12-24 22:54:31

2024-11-01 15:05:12

2023-03-27 15:37:43

自動化測試開發(fā)
點贊
收藏

51CTO技術(shù)棧公眾號