天天看點

Atitit.web的自動化操作與資訊抓取 attilax總結

Atitit.web的自動化操作與資訊抓取 attilax總結

1. Web操作自動化工具,可以簡單的劃分為2大派系: 1.錄制回放 2.手工編寫0 U' z; D! s2 d/ Q! ^1

2. 常用的軟體1

2.1. swt (ie com)  ,nativeswing2

2.2. 基于 selenium2

2.3. Imacro for firefox插件2

2.4. Zenno Poster2

2.5. Ubot在Zenno Poster出來以前應該是最火爆的Web自動化工具(BHW最常見的IM工具)2

3. 操作web 與 資訊抓取2

3.1. 通過dom2

3.2. 通過js2

4. 與後端通信2

5. 腳本生成器(錄制器)3

6. 線程安全3

7. selenium webdriver 和 selenium rc 什麼差別3

7.1. 3、   Selenium1.0的缺點?3

7.2. 4、  Selenium2有什麼好處?4

8. Webdrive原理4

8.1. WebDriver4

9. 參考5

1. Web操作自動化工具,可以簡單的劃分為2大派系:1.錄制回放2.手工編寫0 U' z; D! s2 d/ Q! ^

2. 常用的軟體

2.1. swt (ie com)  ,nativeswing

2.2. 基于 selenium

selenium webdriver

2.3. Imacro for firefox插件

2.4. Zenno Poster

目前最好用的錄制級别Web自動化工具,正式版的貌似已經更新到ZP5了,但

2.5. Ubot在Zenno Poster出來以前應該是最火爆的Web自動化工具(BHW最常見的IM工具)

作者:: 老哇的爪子 Attilax 艾龍,  

3. 操作web 與 資訊抓取

3.1. 通過dom

3.2. 通過js

4. 與後端通信

selenium可以操作頁面的元素,并且提供執行js腳本的接口。但其調用js腳本後并不能直接傳回執行的結果,好像隻建立擴充到方式

5. 腳本生成器(錄制器)

Selenium  ide

6. 線程安全

webDriver不是線程安全的,是以我們需要建立一個webDriver池來儲存它們。不清楚Selenium是否有這樣的接口,反正我是自己寫了一個WebDriverPool來完成這個任務。

7. selenium webdriver 和 selenium rc 什麼差別

 我們平時所說的selenium說的都是selenium1(有名Selenium 

​​RC​​),他曾經有個非常強的競争對手就是Webdriver,後來Selenium團隊釋出了Selenium2。Selenium2= 

Selenium1+webdriver,這樣的組合使Selenium的功能增強了n倍,使用者也可以很自由的選擇自己喜歡的工具。

 什麼是Webdriver?

WebDriver是一個用來進行複雜重複的web自動化測試的工具。意在提供一種比Selenium1.0更簡單易學,有利于維護的​​API​​。它沒

7.1.  3、   Selenium1.0的缺點?

Selenium1.0不能處理以下事件:

1)         本機鍵盤和滑鼠事件

2)         同源政策​​XSS​​/​​HTTP​​(S)

3)         彈出框,對話框(基本身份認證,自簽名的證書和檔案上傳/下載下傳)

7.2. 4、  Selenium2有什麼好處?

當這兩個架構被合并後,一個架構的缺陷被另一個架構所彌補。WebDriver對浏覽器的支援需要對應架構開發工程師做對應的開發;同樣

Selenium必須操作真實浏覽器,但是WebDriver可以​​HTML​​ unit 

Driver來模拟浏覽器,在記憶體中執行用例,更加的輕便。Selenium1.0解決了自動化測試中的一些常見問題,WebDriver更好的解決了沙

箱限制。WebDriver不支援并行,但是Selenium Grid解決了這個問題。

8. Webdrive原理

8.1. WebDriver

WebDriver(或者Selenium 2)基本上指的都是特定浏覽器控制代碼的語言綁定和實作。

WebDriver引入了一個JSON wire protocol用于将不同的語言和浏覽器控制器進行交流。

例如,在浏覽器中點選了一個元素,綁定将會發送一個POST請求到session/:sessionId/element/:id/click。

是以,WebDriver的一端是一個語言綁定,而另一端,是叫做Selenium server的伺服器。二者之間的交流使用的就是JSON wire protocol。