亚洲好骚综合-亚洲黄色录像-亚洲黄色网址-亚洲黄色网址大全-99久久99久久-99久久99久久精品国产

您的位置:軟件測試 > 開源軟件測試 > 開源功能測試工具 > Selenium
Selenium-Grid工作方式
作者:網絡轉載 發布時間:[ 2015/2/6 15:07:43 ] 推薦標簽:Selenium 功能測試工具 單元測試

  了解了selenium-grid的基本結構,再來看看selenium-grid通信的原理。假設現在我們有這樣一個場景:[一個測試請求客戶端、一個hub節點、一個Windows+ie代理、一個linux+FF代理、一個Mac+Safari代理、一個任意平臺下的Chrome代理]。其分布圖如下:
  測試的代碼如下:
import org.openqa.selenium.*;
import org.openqa.selenium.remote.RemoteWebDriver;
import org.openqa.selenium.remote.DesiredCapabilities;
//test01: 只匹配Windows下的ie來執行此用例,版本不限;多個版本匹配成功時優先級暫未知
DesiredCapabilities aDesiredcap = DesiredCapabilities();
aDesiredcap.setBrowserName("internet explorer")
aDesiredcap.setVersion("")
aDesiredcap.setPlatform(Platform.WINDOWS)
WebDriver wd = new RemoteWebDriver<span style="font-family: Arial, Helvetica, sans-serif;">("http://localhost:4444/wd/hub", aDesiredcap);</span>
wd.doSomething()
//test02: 只匹配linix下的firefox的版本為22的瀏覽器執行用例;
DesiredCapabilities aDesiredcap = DesiredCapabilities("firefox", "22", Platform.LINUX);
WebDriver wd = new RemoteWebDriver("http://localhost:4444/wd/hub", aDesiredcap);
wd.doSomething()
//test03: 只匹配MAC下的safari瀏覽器執行,版本不限
DesiredCapabilities aDesiredcap = DesiredCapabilities.safari();
aDesiredcap.setPlatform(Platform.MAC)
WebDriver wd = new RemoteWebDriver("http://localhost:4444/wd/hub", aDesiredcap);
wd.doSomething()
//test04: 只匹配chrome瀏覽器,任意平臺,任意版本
DesiredCapabilities aDesiredcap = DesiredCapabilities.chrome();
aDesiredcap.setPlatform(Platform.ANY)
WebDriver wd = new RemoteWebDriver("http://localhost:4444/wd/hub", aDesiredcap);
wd.doSomething()
  那么整個測試執行的過程大概是這樣的。首先我們在測試請求機上執行測試代碼,代碼中測試啟動方式為遠程調用;
  WebDriver wd = new RemoteWebDriver("http://localhost:4444/wd/hub", aDesiredcap);
  此時測試腳本會根據啟動參數連接hub節點,這里的連接信息為
  http://localhost:4444/wd/hub
  連接到hub成功后,會在hub上注冊一個session信息;[后面再與hub通信時會帶上這個session信息,告訴hub我之前來過,并且之前是被分配到哪個代理節點上執行過測試]
  hub在接受初始化請求時會根據請求的類型來匹配所有代理,并確定是否有符合規則的代理;
  如果匹配失敗了會拒絕該初始請求;如果匹配成功則通知對應代理節點進行對應的初始化操作,這里是啟動XX,并記錄瀏覽器的注冊session,后發回給hub端;
  hub端接收到代理端起的完成后的session信息后,在hub中同樣要記錄session并返回給測試請求端,[session中會保存匹配到的代理信息]
  在初始化請求成功之后,測試請求端會繼續發送下一條測試命令,這里的命令是:
  wd.doSomething()
  此命令會同樣被發送給hub,當然是帶上session信息的;
  hub接收到帶有session的請求命令時,會查詢session的信息,得知session中對應的代理后把請求的命令給轉發給該代理;
  代理在接收到hub發送過來的測試命令后,同樣查詢其session信息,并根據session信息操作與之對應的瀏覽器以執行測試;
  測試完成后會通知hub執行結果,hub再轉發給測試請求端,測試請求端根據的返回信息來決定接下來的執行流程;
  后測試結束后,通知hub關閉瀏覽器進程,同時清除對應的session信息。
  由selenium-grid的原理可以得知
  通過selenium-grid執行遠程操作時,并不需要遠程機器上有測試腳本;但是遠程機器上必須安裝了對應的webdriver程序[可以直接放在環境變量的目錄里即可],當然了,還得需要正確的啟動了代理程序。[具體可以參考:如何搭建Selenium-Grid環境]

上一頁123下一頁
軟件測試工具 | 聯系我們 | 投訴建議 | 誠聘英才 | 申請使用列表 | 網站地圖
滬ICP備07036474 2003-2017 版權所有 上海澤眾軟件科技有限公司 Shanghai ZeZhong Software Co.,Ltd
主站蜘蛛池模板: 97国产大学生情侣11在线视频 | 欧美日韩国产一区二区三区伦 | 一级一级人与动毛片 | 在线中文字幕网站 | 免费一级在线观看 | 日本无翼乌全彩无遮挡动漫 | 久久怡红院 | 91精品国产免费久久国语蜜臀 | 亚洲欧洲免费视频 | 99热网站 | 制服丝袜手机在线 | 五月丁六月停停 | 国内精品久久久久久影院老狼 | 高清成年美女xx免费网站黄 | 日韩在线播放视频 | v视界影院视频一区二区三区 | 欧美2区| 老司机深夜福利影院 | 影音先锋欧美资源 | 日日噜噜夜夜狠狠视频欧美人 | 在线亚洲欧洲国产综合444 | 国产免费无遮挡在线观看视频 | 免费乱人伦 | 欧美午夜性 | 日韩色影院 | 黄色三级在线观看 | 中文国产成人精品久久96 | 丁香色婷婷国产精品视频 | 天天干天天操天天做 | 丝袜视频在线 | 日本午夜影院在线 | 日本欧美一二三区色视频 | 亚洲高清一区二区三区四区 | 操操操网| 欧美日韩高清不卡一区二区三区 | 欧美成人亚洲综合精品欧美激情 | 亚洲一区二区三区高清 不卡 | a毛片久久免费观看 | 久久久鲁 | 精品国产成a人在线观看 | 免费av中文字幕 |