1. 程式人生 > >模擬瀏覽器自動化測試工具Selenium之一eclipse整合開發部署篇

模擬瀏覽器自動化測試工具Selenium之一eclipse整合開發部署篇

1、背景:在網頁自動化測試和網頁表單自動互動的場景中,對動態js頁面的載入,隱藏連結爬蟲和表單元素需要載入js來解析。

                  htmlunit相比較於htmlparser以及httpclient只能解析靜態頁面來說,可以支援動態js頁面的解析,但對js支援不是很好,如angularjs,因此需採用模擬瀏覽器的工具。

                   Selenium模擬瀏覽器:提供一組API和真實的瀏覽器核心互動。

2、部署:

   selenium下載:http://selenium-release.storage.googleapis.com/index.html
下載:selenium-java-2.53.1.zip(jar包引入eclipse的java工程)和IEDriverServer_x64_2.53.1.zip(對應本機作業系統是64位的IE瀏覽器啟動)。
兩點注意:1)發現最新版本3.0.1和jdk1.7不相容(本機安裝是jdk1.7),所以更換回2.53.1版本。2)提示保護模式錯誤時,可通過IE瀏覽器設定(貌似效果不好),也可以在程式碼上設定。

Internet Option in IE –> Security–>Check or Unchecked “Enable Protected Mode.” 


程式碼中設定見案例程式碼。IE瀏覽器保護模式錯誤提示如下:

Started InternetExplorerDriver server (64-bit)
2.53.1.0
Listening on port 36078
Only local connections are allowed
Exception: org.openqa.selenium.remote.SessionNotFoundException: Unexpected error launching Internet Explorer. Protected Mode settings are not the same for all zones. Enable Protected Mode must be set to the same value (enabled or disabled) for all zones. (WARNING: The server did not provide any stacktrace information)
Command duration or timeout: 840 milliseconds
Build info: version: '2.53.1', revision: 'a36b8b1', time: '2016-06-30 17:32:46'
System info: host: 'ICD-PC', ip: '132.97.194.17', os.name: 'Windows 7', os.arch: 'amd64', os.version: '6.1', java.version: '1.7.0_79'
Driver info: org.openqa.selenium.ie.InternetExplorerDriver

3、案例:

package com.test;

import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.chrome.ChromeDriver;
import org.openqa.selenium.ie.InternetExplorerDriver;
import org.openqa.selenium.remote.DesiredCapabilities;
import org.openqa.selenium.support.ui.ExpectedCondition;
import org.openqa.selenium.support.ui.WebDriverWait;

public class BrasShopYP {
    //selenium下載:http://selenium-release.storage.googleapis.com/index.html
	public static void main(String[] args) {
		try {
			System.getProperties().setProperty("webdriver.ie.driver","D:\\dev\\workspace\\ocweb\\libs\\IEDriverServer.exe");
			//System.setProperty("webdriver.ie.bin", "C:\\Program Files\\Internet Explorer\\iexplore.exe"); 
			//WebDriver webDriver = new InternetExplorerDriver();
			DesiredCapabilities caps = DesiredCapabilities.internetExplorer();
			caps.setCapability(InternetExplorerDriver.INTRODUCE_FLAKINESS_BY_IGNORING_SECURITY_DOMAINS,true);
			WebDriver webDriver = new InternetExplorerDriver(caps);
			//訪問網址
			webDriver.get("http://www.baidu.com");
			 // 獲取 網頁的 title
	        System.out.println("1 Page title is: " + webDriver.getTitle());
	        // 通過 id 找到 input 的 DOM
	        WebElement element = webDriver.findElement(By.id("kw"));
	        // 輸入關鍵字
	        element.sendKeys("zTree");
	        // 提交 input 所在的  form
	        element.submit();       
	        // 通過判斷 title 內容等待搜尋頁面載入完畢,Timeout 設定50秒
	        //(new WebDriverWait(webDriver, 50)).until(new ExpectedCondition<Boolean>() {
	        //    public Boolean apply(WebDriver d) {
	        //        return d.getTitle().toLowerCase().endsWith("ztree");
	        //    }
	        //});
	        // 顯示搜尋結果頁面的 title
	        System.out.println("2 Page title is: " + webDriver.getTitle());
	        
			// 關閉視窗,釋放資源。
			webDriver.close();
			}catch (Exception e) {System.err.println( "Exception: " + e ); }
	 }
}


下步就要研究selenium如何提取頁面連結爬蟲並實現表單自動填寫互動。

相關推薦

模擬瀏覽器自動化測試工具Selenium之一eclipse整合開發部署

1、背景:在網頁自動化測試和網頁表單自動互動的場景中,對動態js頁面的載入,隱藏連結爬蟲和表單元素需要載入js來解析。                   htmlunit相比較於htmlparser以及httpclient只能解析靜態頁面來說,可以支援動態js頁面的解析,

模擬瀏覽器自動化測試工具Selenium之五Centos系統命令列下部署selenium環境試驗

一、背景:     Selenium是一個web自動化測試框架,也支援從HTML頁面上爬取javascript生成的或AJAX的內容。     selenium2支援通過各種driver(FirfoxDriver、IternetExplorerDriver、OperaDri

模擬瀏覽器自動化測試工具Selenium之四cssSelector元素定位開發

Selenium官網的Document裡推薦使用CSS locator,而不是XPath來定位元素,原因是CSS locator比XPath locator速度快,特別是在IE下面(IE沒有自己的XPath 解析器(Parser)),比xpath更高效更準確更易編寫,缺點是

模擬瀏覽器自動化測試工具Selenium之六設定代理

在使用Selenium自動化測試時,如果需要設定代理訪問網路時,可以參考如下程式碼: package com.test; import java.util.List; import org.open

Python學習筆記(一)——瀏覽器自動化測試工具Selenium

看了網友用Python通過影評來分析電影是好片還是爛片,自己也有了個想法想去分析下百度貼吧的帖子是精品帖子還是水帖子。目前正在熟悉工具的使用。 會用到的庫:Selenium, pandas(資料模型),jieba(分詞器),snownlp(情感分析),worldcloud(

自動化測試工具selenium的使用

img cnblogs 原創 font strong 自動化測試 ges mage src 尊重博客園原創精神,請勿轉載! 1.自動化測試的前提 自動化測試工具selenium的使用

功能自動化測試工具selenium的安裝

Windows命令列(cmd)輸入pip install selenium 即可自動安裝selenium。(前提是電腦中要安裝的有Anaconda)如果沒有就要先下載Anaconda再按照下面的進行安裝. 1.Chromedriver 下載地址: http://npm.taobao.o

自動化測試工具Selenium入門

文章目錄簡介入門環境搭建程式碼實現一些坑 簡介 寫過爬蟲的朋友一定遇到過這樣一個問題:網頁的部分內容是由js(ajax)技術生成的,而這部分內容恰恰是我們想要的,並且這個ajax請求的url或者生成的cookie資訊我們很難拿到。 普通的爬蟲工具例如HttpCl

自動化測試工具Selenium 無頭瀏覽器:PhantomJS

Ajax只是一個載入技術 selenium是可以通過pycharm自動匯入模組的 然後把檔案複製到scripts目錄下,在把下載的路徑設定成環境變數就可以使用了 面試的時候直接說自己會自動化測試工具、無頭瀏覽器去爬取動態載入頁面、js分頁技術、ajax記載技

selenium自動化測試工具補充

一、等待設定 1、顯式等待 顯式等待是您定義的程式碼,用於在程式碼中繼續進行之前等待某個條件發生。這種情況的極端情況是time.sleep(),它將條件設定為要等待的確切時間段。WebDriverWait的結合預期條件是一種方法。 #!/usr/bin/env python #-

搭建一個 c# + selenium + winform + 谷歌瀏覽器 -- 自動化測試環境

搭建一個 c# + selenium + winform + 谷歌瀏覽器 – 自動化測試環境 1、需要環境 Visual Studio 2017 winformapp 測試應用 .net 4.5 windows 10 谷歌瀏覽器 2、wi

seleniumselenium 自動化測試框架部署1:selenium + JUnit + eclipse + testNG 環境部署

目錄 二、Firefox:Selenium IDE 安裝 三、jdk:下載和安裝 四、eclipse:下載和安裝 五、必要的jar包下載 六、eclipse:自動化測試框架環境部署 七、Firefox:Try Xpath 安裝 八、eclipse:安裝testNG外掛

nightwatch + selenium 瀏覽器自動化測試 教程(一)

什麼是nightwatch Nightwatch.js 是一個用於web網站或應用的自動化測試框架,使用node.js和W3C WebDriver API (熟知的selenium) 它是一個完整的瀏覽器自動化測試解決方案,能夠簡化持續整合及自動化測試編寫工作。當然它也可

nightwatch + selenium 瀏覽器自動化測試 教程(二)

上一篇已經講述瞭如何搭建環境,這一片主要針對語法進行 目錄 測試案例 測試案例 module.exports = { 'Demo test Google' : function (browser) { browser .url('htt

四、利用SeimiCrawler爬蟲框架和selenium自動化測試工具分別實現對網站的爬取

一、案例背景   這裡為了簡化操作,我們以爬取 http://www.fzdm.com/ 網頁的熱門漫畫為例。 二、對比   SeimiCrawler爬蟲框架 爬取速度較快,但是不穩定(表現線上程一多,易崩潰);selenium自動化測試工具 爬取速度略慢,但是穩定。 三、方式一:S

使用selenium自動化測試工具進行頁面資訊的抓取遇到的坑

selenium是一個Web程式測試工具,selenium能解析js,而我平常寫的簡單爬蟲都是爬靜態頁面,即原始的html,當js改變html的元素時,如果依照原來的那個爬取的html來弄就會出錯。 selenium支援多種瀏覽器,Chrome,Firefox,Phantomjs(已經被棄用了,可以使用其他

自動化測試工具知多少之Selenium, Selenide和Katalon

引子 之前就有個想法,整理一下自動化測試的相關工具,開始的時候以為不復雜,但是隻是簡單的列表似乎又單調了些,沒什麼意義。如果加上介紹和相關說明,放在一篇文章裡,又會太過雜亂。 乾脆還是先從細節開始,寫個系列文章來介紹工具,後面再做整理,可能會清楚一點。 從哪兒開始呢,要

Selenium瀏覽器自動化測試使用(1)

Selenium - IDE模式匹配 在Selenium IDE中,如定位器,模式是selenium中經常使用的一種型別的引數。它允許使用者描述特殊字元的模式。很多時候,我們想核實文字是動態的,在這種情況下,模式匹配是非常有用的。 模式匹配是用於所有驗證點命令 - VerifyTextPresent,ve

Selenium瀏覽器自動化測試使用(2)

Selenium - 環境安裝設定 為了開發Selenium RC或webdriver指令碼,使用者必須確保他們有初始配置完成。有很多關聯建立環境的步驟。這裡將通過詳細的講解。 下載並安裝Java 下載並配置Eclipse 配置Firebug和FirePath

Selenium自動化測試工具的理論知識點

一、Selenium -介紹     Selenium是一個開源的和行動式的自動化軟體測試工具,用於測試Web應用程式有能力在不同的瀏覽器和作業系統執行。Selenium真的不是一個單一的工具,而是