亚洲好骚综合-亚洲黄色录像-亚洲黄色网址-亚洲黄色网址大全-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
主站蜘蛛池模板: 欧美午夜大片 | 玖草福利视频 | 视频一区二区三区欧美日韩 | 老司机午夜精品视频在线观看免费 | 美女黄频a美女大全免费皮 美女黄免费网站 | 免费人成网站免费看视频 | 亚洲欧美日韩人成 | 曰批免费视频播放在线看片二 | 欧美精品久久一区二区三区 | 国产一区曰韩二区欧美三区 | 日本三级黄视频 | 国产欧美精品一区aⅴ影院 国产欧美成人一区二区三区 | 国产一区2区 | 普通话中国videos | 91短视频在线观看 | 山沟女人一级毛片 | 秋霞影视伦理手机在线观看 | 久久伊人婷婷 | 欧美高清国产在线观看 | 一个人看的www在线播放 | 中文字幕精品在线视频 | 一级视频网站 | 成人私人影院在线观看网址 | 丁香伊人五月综合激激激 | 国产在线综合视频 | 欧美精品video | 日韩精品视频在线观看免费 | 成人公开视频 | 伊人天伊人天天网综合视频 | 看黄网站在线观看 | 天天摸天天碰中文字幕 | 天天干妹子 | 3751性欧美视频在线播放 | 精品小视频 | 免费看黄视频网站 | 97黄色网| 欧美天天射| 免费黄色小片 | 国产va精品网站精品网站精品 | 一级一级一级一级毛片 | 97午夜理伦影院在线观看 |