亚洲好骚综合-亚洲黄色录像-亚洲黄色网址-亚洲黄色网址大全-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
主站蜘蛛池模板: 亚洲成在人天堂在线 | 国产丝袜视频在线观看 | 91.xxx.高清在线 | 一区二区视频在线免费观看 | 成人欧美日本免费观看 | 亚洲一级高清在线中文字幕 | 国产日产精品_国产精品毛片 | 九九综合九九综合 | 国产精品亚欧美一区二区三区 | 亚洲欧美综合乱码精品成人网 | 狠狠干夜夜爱 | 91久久人澡人人添人人爽 | 成人影院高清在线观看免费网站 | 九九免费精品视频在这里 | 亚洲一区二区中文字幕 | 特黄aaaaaaaaa及毛片 | 日本爽爽爽爽爽爽在线观看免 | 国产 日韩 欧美 亚洲 | 毛片在线看网站 | 小明www永久在线看 小明爱看看永久成人免费平台 | 久久精品视频免费 | 在线观看男女爱视频网站 | 欧美日韩在线亚洲国产人 | 中国免费黄色片 | 日本一区二区三区免费在线观看 | 韩日福利视频 | aaa在线观看视频高清视频 | 黄色片一级片 | 国产在线97色永久免费视频 | 午夜影院一区 | 青青青国产精品手机在线观看 | 夜夜躁日日躁 | 理论片中文字幕在线精品 | 草草影院欧美三级日本 | 欧美高清在线精品一区 | 黄色免费观看视频 | 日本福利网址 | 欧美性猛交ⅹxxx乱大交免费 | 丁香五香天堂 | 国产一区二区三区日韩 | 福利在线看片 |