




免費(fèi)預(yù)覽已結(jié)束,剩余39頁可下載查看
下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
利用JMeter進(jìn)行Web測(cè)試,King_W,利用JMeter進(jìn)行Web測(cè)試,JMeter介紹腳本錄制運(yùn)行JMeter進(jìn)行測(cè)試JMeter主要組件介紹參數(shù)化設(shè)置動(dòng)態(tài)數(shù)據(jù)關(guān)聯(lián)使用命令行運(yùn)行JMeter腳本利用XSLT分析JMeter結(jié)果文件,JMeter介紹,JMeter,一個(gè)100的純Java桌面應(yīng)用,它是Apache組織的開放源代碼項(xiàng)目,它是功能和性能測(cè)試的工具。JMeter可以用于測(cè)試靜態(tài)或者動(dòng)態(tài)資源的性能(文件、Servlets、Perl腳本、Java對(duì)象、數(shù)據(jù)庫和查詢、ftp服務(wù)器或者其他資源)。原先Jmemer是為Web/HTTP測(cè)試而設(shè)計(jì)的,但是它已經(jīng)擴(kuò)展以支持各種各樣的測(cè)試模塊。它和用于HTTP和SQL數(shù)據(jù)庫(使用JDBC)的模塊一起運(yùn)送。它可以用來測(cè)試靜止資料庫或者活動(dòng)資料庫中的服務(wù)器的運(yùn)行情況,可以用來模擬對(duì)服務(wù)器或者網(wǎng)絡(luò)系統(tǒng)加以重負(fù)荷以測(cè)試它的抵抗力,或者用來分析不同負(fù)荷類型下的所有運(yùn)行情況。它也提供了一個(gè)可替換的界面用來定制數(shù)據(jù)顯示,測(cè)試同步及測(cè)試的創(chuàng)建和執(zhí)行。Jmeter的下載地址:/jmeter/usermanual/index.htmlJMeter的特性:a)能夠?qū)TTP和FTP服務(wù)器進(jìn)行壓力和性能測(cè)試,也可以對(duì)任何數(shù)據(jù)庫進(jìn)行同樣的測(cè)試(通過JDBC)。b)完全的可移植性和100純Java。c)完全Swing和輕量組件支持(預(yù)編譯的JAR使用javax.swing.*)包。d)完全多線程框架允許通過多個(gè)線程并發(fā)取樣和通過單獨(dú)的線程組對(duì)不同的功能同時(shí)取樣。e)精心的GUI設(shè)計(jì)允許快速操作和更精確的計(jì)時(shí)。f)緩存和離線分析/回放測(cè)試結(jié)果。g)高可擴(kuò)展性:h)可鏈接的取樣器允許無限制的測(cè)試能力。i)各種負(fù)載統(tǒng)計(jì)表和可鏈接的計(jì)時(shí)器可供選擇。j)數(shù)據(jù)分析和可視化插件提供了很好的可擴(kuò)展性以及以及個(gè)性化。k)具有提供動(dòng)態(tài)輸入到測(cè)試的功能(包括Javascrpt)。l)支持腳本變成的取樣器(在1.9.2及以上版本支持BeanShell)。,腳本錄制,利用BadBoy進(jìn)行腳本錄制,利用JMeter的代理服務(wù)器功能進(jìn)行腳本錄制,利用BadBoy錄制JMeter腳本(1),通過Badboy的官方網(wǎng)站(.au)下載Badboy的最新版本;安裝Badboy。安裝過程同一般的Windows應(yīng)用程序沒有什么區(qū)別,安裝完成后你可以在桌面和Windows開始菜單中看到相應(yīng)的快捷方式如果找不到,可以找一下Badboy安裝目錄下的Badboy.exe文件,直接雙擊啟動(dòng)Badboy;啟動(dòng)Badboy,你可以看到下面的界面。,利用BadBoy錄制JMeter腳本(2),在地址欄(圖中紅色方框標(biāo)注的部分)中輸入你需要錄制的Web應(yīng)用的URL這里我們以為例。點(diǎn)擊開始錄制按鈕(圖中藍(lán)色圓圈標(biāo)注的部分)開始錄制。開始錄制后,你可以直接在Badboy內(nèi)嵌的瀏覽器(主界面的右側(cè))中對(duì)被測(cè)應(yīng)用進(jìn)行操作,所有的操作都會(huì)被記錄在主界面左側(cè)的編輯窗口中(圖中黃色方框標(biāo)注的部分)在這個(gè)試驗(yàn)中,我們?cè)赽aidu的搜索引擎中輸入JMeter進(jìn)行搜索。不過錄制下來的腳本并不是一行行的代碼,而是一個(gè)個(gè)Web對(duì)象這有點(diǎn)像LoadRunner的VuGen中的TreeView視圖;錄制完成后,點(diǎn)擊工具欄中的“停止錄制”按鈕(圖中紫色方框標(biāo)注的部分),完成腳本的錄制;,利用BadBoy錄制JMeter腳本(3),選擇“File-ExporttoJMeter”菜單,填寫文件名“baidu.jmx”,將錄制好腳本導(dǎo)出為JMeter腳本格式。也可以選擇“File-Save”菜單保存為Badboy腳本;啟動(dòng)JMeter并打開剛剛生成的測(cè)試腳本,就可以用JMeter進(jìn)行測(cè)試了。,利用JMeter的代理服務(wù)器功能進(jìn)行腳本錄制(1),在測(cè)試計(jì)劃中添加線程組,在線程組中添加邏輯控制器錄制控制器。在工作臺(tái)中添加非測(cè)試元件HTTP代理服務(wù)器。端口:即代理服務(wù)器的監(jiān)聽端口,我們?cè)O(shè)為8080。目標(biāo)控制器選擇:測(cè)試計(jì)劃線程組;分組選擇:每個(gè)組放入一個(gè)新的控制器。,利用JMeter的代理服務(wù)器功能進(jìn)行腳本錄制(2),在HTTP代理服務(wù)器中添加定時(shí)器高斯隨機(jī)定時(shí)器(用于告知Jmeter來在其生成的HTTP請(qǐng)求中自動(dòng)的增加一個(gè)定時(shí)器)。定時(shí)器將會(huì)使相應(yīng)的的取樣器被延遲。延時(shí)的規(guī)則是,在上一個(gè)訪問請(qǐng)求被響應(yīng)并延時(shí)了指定的時(shí)間后,下一個(gè)被定時(shí)器影響的取樣訪問請(qǐng)求才會(huì)被發(fā)送出去。如果在代理服務(wù)器元件里使用了高斯隨機(jī)定時(shí)器,就應(yīng)該在其中的固定延遲偏移(ConstantDelayOffset)設(shè)置項(xiàng)里添上$T(用于自動(dòng)引用紀(jì)錄的延遲時(shí)間)。,利用JMeter的代理服務(wù)器功能進(jìn)行腳本錄制(3),代理服務(wù)器配置好以后,點(diǎn)擊啟動(dòng),代理服務(wù)器就會(huì)開始記錄所接受的HTTP訪問請(qǐng)求。打開瀏覽器,打開Internet選項(xiàng),將局域網(wǎng)(LAN)設(shè)置中的代理服務(wù)器設(shè)為:localhost,端口為在代理服務(wù)器中設(shè)的端口:8080。,利用JMeter的代理服務(wù)器功能進(jìn)行腳本錄制(4),在瀏覽器地址欄中輸入地址并進(jìn)行相關(guān)的操作進(jìn)行錄制,錄制完成后,停止HTTP代理服務(wù)器;在錄制控制器元件上單擊右鍵將記錄的元件保存為一個(gè)文件用于以后重用,另外,不要忘了恢復(fù)瀏覽器的代理服務(wù)器設(shè)置。,運(yùn)行Jmeter進(jìn)行測(cè)試(1),腳本錄制完畢后,就可以運(yùn)行JMeter來進(jìn)行我們的測(cè)試了。到JMeter的網(wǎng)站/site/downloads/downloads_jmeter.cgi下載JMeter的最新版本,將zip文件解壓縮到D:/JMeter,運(yùn)行D:/JMeter/bin下的jmeter.bat即可。,運(yùn)行Jmeter進(jìn)行測(cè)試(2),打開JMeter會(huì)有一個(gè)默認(rèn)的測(cè)試計(jì)劃,點(diǎn)擊文件打開,選中錄制的腳本文件如:WebXSample_addUser.jmx,打開腳本進(jìn)行測(cè)試。在線程組上添加監(jiān)聽器聚合報(bào)告(用于分析測(cè)試結(jié)果)后,點(diǎn)擊運(yùn)行啟動(dòng),開始測(cè)試,測(cè)試完畢后在聚合報(bào)告中就可以看到測(cè)試結(jié)果。一個(gè)簡(jiǎn)單的測(cè)試計(jì)劃就完成了。,運(yùn)行Jmeter進(jìn)行測(cè)試(3),聚合報(bào)告顯示測(cè)試結(jié)果,運(yùn)行Jmeter進(jìn)行測(cè)試(4)聚合報(bào)告詳解,Label:每個(gè)JMeter的element(例如HTTPRequest)都有一個(gè)Name屬性,這里顯示的就是Name屬性的值#Samples:表示你這次測(cè)試中一共發(fā)出了多少個(gè)請(qǐng)求,如果測(cè)試計(jì)劃模擬10個(gè)用戶,每個(gè)用戶迭代10次,這里就會(huì)顯示100Average:平均響應(yīng)時(shí)間默認(rèn)情況下是單個(gè)Request的平均響應(yīng)時(shí)間,當(dāng)使用了事務(wù)控制器時(shí),也可以以事務(wù)為單位顯示平均響應(yīng)時(shí)間Median:中位數(shù),也就是50用戶的響應(yīng)時(shí)間90%Line:90用戶的響應(yīng)時(shí)間Min:最小響應(yīng)時(shí)間Max:最大響應(yīng)時(shí)間Error%:錯(cuò)誤率,本次測(cè)試中出現(xiàn)錯(cuò)誤的請(qǐng)求的數(shù)量/請(qǐng)求的總數(shù)Throughput:吞吐量默認(rèn)情況下表示每秒完成的請(qǐng)求數(shù)(RequestperSecond)KB/Sec:每秒從服務(wù)器端接收到的數(shù)據(jù)量,JMeter主要組件介紹,測(cè)試計(jì)劃(TestPlan)是使用JMeter進(jìn)行測(cè)試的起點(diǎn),它是其它JMeter測(cè)試元件的容器。線程組(ThreadGroup)代表一定數(shù)量的并發(fā)用戶,它可以用來模擬并發(fā)用戶發(fā)送請(qǐng)求。取樣器(sampler)定義實(shí)際的請(qǐng)求內(nèi)容,被線程組包含,我們主要用HTTP請(qǐng)求。監(jiān)聽器(Listener)邏輯控制器(LogicController)斷言(Assertions)配置元件(ConfigElement)前置處理器(PreProcessors)和后置處理器(PostProcessors)定時(shí)器(Timer),JMeter主要組件介紹測(cè)試計(jì)劃,測(cè)試計(jì)劃(TestPlan)是使用JMeter進(jìn)行測(cè)試的起點(diǎn),它是其它JMeter測(cè)試元件的容器。名稱:你可以為你的測(cè)試計(jì)劃取一個(gè)有意義的名字。注釋:對(duì)測(cè)試計(jì)劃的注釋。用戶定義的變量:用戶可以自己定義變量,在用到此變量的時(shí)候直接用$變量名引用即可。例:變量名url,值,在需要時(shí)直接用$url即可。Adddirectoryorjartoclasspath:向類路徑即%JMETER-HOME%lib中添加目錄及jar包。,JMeter主要組件介紹線程組,名稱:為線程組起名字。線程屬性線程數(shù):設(shè)置發(fā)送請(qǐng)求的用戶數(shù)目,即并發(fā)數(shù)。線程屬性Ramp-UpPeriod(insecond):線程間的時(shí)間間隔,單位是秒。即所有線程在多少時(shí)間內(nèi)啟動(dòng)。線程屬性循環(huán)次數(shù):請(qǐng)求的重復(fù)次數(shù),如果選擇后面的forever(默認(rèn)),那么請(qǐng)求將一直繼續(xù),如果不選擇forever,而在輸入框中輸入數(shù)字,那么請(qǐng)求將重復(fù)指定的次數(shù),如果輸入1,那么請(qǐng)求將執(zhí)行一次,如果是0,會(huì)出現(xiàn)問題。調(diào)度器配置啟動(dòng)時(shí)間:測(cè)試計(jì)劃什么時(shí)候啟動(dòng),啟動(dòng)延遲會(huì)覆蓋它。調(diào)度器配置結(jié)束時(shí)間:測(cè)試計(jì)劃什么時(shí)候結(jié)束,持續(xù)時(shí)間會(huì)覆蓋它。調(diào)度器配置持續(xù)時(shí)間:測(cè)試計(jì)劃持續(xù)多長(zhǎng)時(shí)間,會(huì)覆蓋結(jié)束時(shí)間。調(diào)度器配置啟動(dòng)延遲:測(cè)試計(jì)劃延遲多長(zhǎng)時(shí)間啟動(dòng),會(huì)覆蓋啟動(dòng)時(shí)間。,JMeter主要組件介紹取樣器(HTTP請(qǐng)求),名稱:HTTP請(qǐng)求的名字。Web服務(wù)器服務(wù)器名稱或IP、端口號(hào),腳本錄制時(shí)自動(dòng)添加,也可以使用“用戶自定義變量”。HTTP請(qǐng)求:用默認(rèn)值即可。同請(qǐng)求一起發(fā)送參數(shù):請(qǐng)求中的參數(shù)、值可以在此設(shè)置,需要用到參數(shù)化及動(dòng)態(tài)數(shù)據(jù)關(guān)聯(lián),我們?cè)诤竺鎸iT介紹。同請(qǐng)求一起發(fā)送文件:我可以制定同請(qǐng)求一起發(fā)送哪個(gè)文件。其他任務(wù)包括:從HTML文件中獲取所有內(nèi)含的資源、用作監(jiān)視器、EmbeddedURLsmustmatch。,JMeter主要組件介紹監(jiān)聽器,監(jiān)聽器(Listener)負(fù)責(zé)收集測(cè)試結(jié)果,同時(shí)也被告知了結(jié)果顯示的方式。我們常用的包括:聚合報(bào)告、查看結(jié)果樹、用表格查看結(jié)果,都支持將結(jié)果數(shù)據(jù)寫入文件。其他的添加上去看看就行。聚合報(bào)告前面我們介紹過,后面是查看結(jié)果樹和用表格查看結(jié)果的截圖。,JMeter主要組件介紹監(jiān)聽器(用表格查看結(jié)果),JMeter主要組件介紹監(jiān)聽器(查看結(jié)果樹),JMeter主要組件介紹邏輯控制器,邏輯控制器(LogicController)可以自定義JMeter發(fā)送請(qǐng)求的行為邏輯,它與Sampler結(jié)合使用可以模擬復(fù)雜的請(qǐng)求序列。,JMeter主要組件介紹邏輯控制器,循環(huán)控制器可以設(shè)置請(qǐng)求的循環(huán)次數(shù)或永遠(yuǎn)循環(huán)(如果選中永遠(yuǎn)的話)。事務(wù)控制器可以將多個(gè)請(qǐng)求放在同一個(gè)事務(wù)中。如果選中Gegerateparentsample,則聚合報(bào)告中只顯示事務(wù)控制器的數(shù)據(jù),而不會(huì)顯示其中的各個(gè)請(qǐng)求的數(shù)據(jù),反之則全部顯示。,JMeter主要組件介紹斷言,斷言(Assertions)可以用來判斷請(qǐng)求響應(yīng)的結(jié)果是否如用戶所期望的。它可以用來隔離問題域,即在確保功能正確的前提下執(zhí)行壓力測(cè)試。這個(gè)限制對(duì)于有效的測(cè)試是非常有用的。,JMeter主要組件介紹配置元件,配置元件(ConfigElement)維護(hù)Sampler需要的配置信息,并根據(jù)實(shí)際的需要會(huì)修改請(qǐng)求的內(nèi)容。我們主要在參數(shù)化中用到CSVDataSetConfig,JMeter主要組件介紹前置處理器和后置處理器,前置處理器(PreProcessors)和后置處理器(PostProcessors)負(fù)責(zé)在生成請(qǐng)求之前和之后完成工作。前置處理器常常用來修改請(qǐng)求的設(shè)置,后置處理器則常常用來處理響應(yīng)的數(shù)據(jù)。我們主要在動(dòng)態(tài)關(guān)聯(lián)中用到后置處理器的正則表達(dá)式提取器。,JMeter主要組件介紹定時(shí)器,定時(shí)器(Timer)負(fù)責(zé)定義請(qǐng)求之間的延遲間隔。,參數(shù)化設(shè)置,在我們的測(cè)試計(jì)劃中我們使用的都是HTTP請(qǐng)求,在HTTP請(qǐng)求中常常會(huì)提交一些參數(shù),我們?yōu)榱瞬幌朐诿恳淮握?qǐng)求中都使用相同的參數(shù)值,就要想辦法讓每一次請(qǐng)求的參數(shù)的值都是不一樣的,我們就需要進(jìn)行參數(shù)化設(shè)置,這里我們介紹兩種參數(shù)化設(shè)置的方法。一種是利用函數(shù)助手中的_Random函數(shù)進(jìn)行參數(shù)化設(shè)置;一種是利用配置元件中的CSVDataSetConfig進(jìn)行參數(shù)化設(shè)置。,參數(shù)化設(shè)置函數(shù)助手(1),JMeter中有一個(gè)函數(shù)助手的功能,里面內(nèi)置了多個(gè)函數(shù),我們可以利用其中的_Random函數(shù)來進(jìn)行請(qǐng)求中的參數(shù)化設(shè)置。,參數(shù)化設(shè)置函數(shù)助手(2),在JMeter中選擇“選項(xiàng)函數(shù)助手對(duì)話框”打開函數(shù)助手對(duì)話框。,參數(shù)化設(shè)置函數(shù)助手(3),選擇一個(gè)功能_Random。設(shè)定最小值為1。設(shè)定最大值為100。函數(shù)名稱設(shè)為func1。點(diǎn)擊生成將生成一個(gè)引用字符串$_Random(1,100,func1,在需要的請(qǐng)求參數(shù)中拷貝該字符串即可。其中函數(shù)名稱用來在引用中作區(qū)別,即我們可以設(shè)定不同的名稱在不同的地方引用同一個(gè)函數(shù)的功能。,參數(shù)化設(shè)置函數(shù)助手(4),例如:我們生成了兩個(gè)串$_Random(1,100,func1)、$_Random(1,100,func2),在添加圖書的請(qǐng)求中,我們?cè)赽ookName的參數(shù)值中引用$_Random(1,100,func1),在bookConcern的參數(shù)值中應(yīng)用$_Random(1,100,func2),見截圖,這樣測(cè)試運(yùn)行時(shí)不同的線程將產(chǎn)生不同的bookName和bookConcern。,參數(shù)化設(shè)置CSVDataSetConfig(1),在線程組上點(diǎn)擊右鍵選擇添加配置元件CSVDataSetConfig,打開CSVDataSetConfig。Filename文件名:即參數(shù)化要引用的文件名。這里是d:number.txtFileencoding文件編碼:可以不填。VariableNames(comma-delimited)變量名(用逗號(hào)分割):多個(gè)變量可以引用同一個(gè)文件,用逗號(hào)分割。這里是num1,num2Delimiter(usetfortab):參數(shù)文件中多個(gè)變量值的分隔符,t表示用tab鍵分割,默認(rèn)是逗號(hào)。RecycleonEOF?:結(jié)束后是否循環(huán)?默認(rèn)是True.Number.txt文件內(nèi)容見截圖。,參數(shù)化設(shè)置CSVDataSetConfig(2),在添加圖書的請(qǐng)求中,我們?cè)赽ookName的參數(shù)值中引用$num1,在bookConcern的參數(shù)值中應(yīng)用$num2,見截圖,這樣測(cè)試運(yùn)行時(shí)不同的線程將產(chǎn)生不同的bookName和bookConcern。,動(dòng)態(tài)數(shù)據(jù)關(guān)聯(lián),在HTTP請(qǐng)求的參數(shù)中經(jīng)常會(huì)遇到一些參數(shù)的值是從服務(wù)器相應(yīng)的動(dòng)態(tài)數(shù)據(jù),這些數(shù)據(jù)需要進(jìn)行關(guān)聯(lián)才能使得每一次請(qǐng)求都能成功得被服務(wù)器接受,在JMeter中采用正則表達(dá)式提取器來獲取這些動(dòng)態(tài)的數(shù)據(jù)。正則表達(dá)式允許用戶從服務(wù)器響應(yīng)中獲取數(shù)據(jù),作為一個(gè)后置處理器,正則表達(dá)式提取器會(huì)在每一個(gè)請(qǐng)求執(zhí)行后再執(zhí)行,正則表達(dá)式提取請(qǐng)求的參數(shù)值,產(chǎn)生模板字符串,并將結(jié)果保存到給出的變量中。,動(dòng)態(tài)數(shù)據(jù)關(guān)聯(lián)(1)正則表達(dá)式提取器,在HTTP請(qǐng)求的參數(shù)中經(jīng)常會(huì)遇到一些參數(shù)的值是從服務(wù)器相應(yīng)的動(dòng)態(tài)數(shù)據(jù),這些數(shù)據(jù)需要進(jìn)行關(guān)聯(lián)才能使得每一次請(qǐng)求都能成功得被服務(wù)器接受,在JMeter中采用正則表達(dá)式提取器來獲取這些動(dòng)態(tài)的數(shù)據(jù)。比如我們想要獲得從服務(wù)器相應(yīng)的TOKEN,就可以使用下面的正則表達(dá)式提取器。,動(dòng)態(tài)數(shù)據(jù)關(guān)聯(lián)(2),使用時(shí)就可以使用$token_g1來表示獲取到的TOKEN值。如下圖:,使用命令行運(yùn)行JMeter腳本,JMeter-n-tmy_test.jmx-llog.jtl-n告知JMeter采用非圖形化運(yùn)行JMeter腳本-t指定要運(yùn)行的腳本文件-l指定保存執(zhí)行結(jié)果的文件名執(zhí)行命令前要檢查當(dāng)前目錄是否是%JMeter_Home%bin目錄;如果JMeter腳本不在當(dāng)前目錄,需要指定完整的路徑;如果要把執(zhí)行的結(jié)果保存在其他地方也要指定完整的路徑。,利用XSLT分析JMeter結(jié)果文件(1),將結(jié)果文件的擴(kuò)展名改為xml,例:將log.jtl改為log.xml。在log.xml的文件頭中添加使之變成其中href指定xsl文件的路徑,如果與xml文件在同一目錄,則只寫文件名即可,否則要寫明詳細(xì)路徑。,利用XSLT分析JMeter結(jié)果文件(2),將修改后的xml文件用瀏覽器打開即可得到統(tǒng)計(jì)結(jié)果,JMeter中進(jìn)行分布式測(cè)試,作為一個(gè)純JAVA的GUI應(yīng)用,JMeter對(duì)于CPU
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 糞污資源化利用技術(shù)在中小規(guī)模養(yǎng)殖企業(yè)中的應(yīng)用
- 德育共同體視角下中醫(yī)藥高校學(xué)生思想政治教育效果評(píng)估
- 山東省齊河縣2024-2025學(xué)年八上數(shù)學(xué)期末學(xué)業(yè)質(zhì)量監(jiān)測(cè)模擬試題含解析
- 內(nèi)蒙古烏拉特前旗三校2024-2025學(xué)年化學(xué)九上期末質(zhì)量檢測(cè)模擬試題含解析
- 第6課 西方的文官制度教學(xué)設(shè)計(jì)
- 酒店餐飲企業(yè)代理記賬與餐飲財(cái)務(wù)管理合同
- 廠房抵押貸款居間擔(dān)保協(xié)議
- 茶餐廳廚房承包及員工培訓(xùn)服務(wù)合同
- 某商業(yè)廣場(chǎng)電力設(shè)施規(guī)劃與配電系統(tǒng)設(shè)計(jì)
- 虛擬現(xiàn)實(shí)技術(shù)在安全培訓(xùn)中的應(yīng)用
- 暑假假期安全教育(課件)-小學(xué)生主題班會(huì)
- 2024年1月黑龍江高中學(xué)業(yè)水平合格考政治試卷真題(含答案詳解)
- 供應(yīng)室護(hù)理進(jìn)修匯報(bào)總結(jié)
- 儲(chǔ)糧害蟲與技術(shù)和化學(xué)防治
- 自適應(yīng)前照燈控制系統(tǒng)
- 電梯招標(biāo)文件示范文本
- 上海市安裝工程預(yù)算定額(2000)工程量計(jì)算規(guī)則
- 街道、鎮(zhèn)、區(qū)道路保潔及垃圾轉(zhuǎn)運(yùn)服務(wù)采購項(xiàng)目服務(wù)方案(投標(biāo)方案)
- GB/T 16886.10-2024醫(yī)療器械生物學(xué)評(píng)價(jià)第10部分:皮膚致敏試驗(yàn)
- 醫(yī)院感染管理制度制度匯編
- 幼兒園衛(wèi)生檢查表
評(píng)論
0/150
提交評(píng)論