高亮顯示:看到的地方,Portal的導(dǎo)航的鏈接包括如下鏈接,當(dāng)前所處的功能頁面高亮顯示
2015年6月24日 #
高亮顯示:看到的地方,Portal的導(dǎo)航的鏈接包括如下鏈接,當(dāng)前所處的功能頁面高亮顯示
右鍵》new》file》advanced
ctrl+m放大當(dāng)前窗口
shift+alt+x,再按t執(zhí)行junit
1.Tasks》Verify Replay》Run-Run-Time Settings
2.vuser》Run-Time Settings(運(yùn)行時設(shè)置)
3.快捷鍵F4
常規(guī)的:運(yùn)行邏輯、步、日志、思考時間
運(yùn)行邏輯:迭代次數(shù)
》此節(jié)點設(shè)置迭代次數(shù)或連續(xù)重復(fù)活動的次數(shù)
步:開始新迭代
a.在前一個迭代結(jié)束后立即開始
b.前一個迭代結(jié)束后
c.發(fā)生
》用于控制迭代時間間隔
配置日志設(shè)置
啟用日志記錄
日志選項:a.僅在出錯時發(fā)送消息
b.始終發(fā)送消息
》在運(yùn)行測試期間記錄的信息量。
二.實時查看腳本的運(yùn)行情況設(shè)置
tools》general option》display
三.查看回放的信息
a.點擊tasks向?qū)Ю锏幕胤湃罩境溄?br /> b.view 視圖》Output windows
c.顯示/隱藏按鈕
在回放日志中按Ctrl+F打開“查找對話框”
? 啟動和終止。腳本運(yùn)行的開始和結(jié)束 - 虛擬用戶腳本已啟動、Vuser 已終止。
? 迭代。迭代的開始和結(jié)束以及迭代編號(橙色字體部分)。
VuGen 用綠色顯示成功的步驟,用紅色顯示錯誤。例如,如果在測試過程中連接
中斷, VuGen 將指出錯誤所在的行號并用紅色顯示整行文本。
四.確定測試通過
在任務(wù)窗格中單擊測試結(jié)果
view(視圖)》測試結(jié)果
概要窗格。上表是指出了哪些迭代通過了測試,哪些未通過。
下表指出哪些事務(wù)和檢查點通過了測試,哪些未通過
搜索或篩選結(jié)果
搜素:
1.在樹視圖中展開迭代節(jié)點
2.選擇節(jié)點
3.查看步驟概要
4.搜素結(jié)果狀態(tài)
可以定位失敗或成功的按鈕
a.工具》查找
b.直接單擊查找按鈕 也就是搜索形狀的
篩選:
view視圖>filter篩選器
左窗格會列出對應(yīng)的選項
http://www.w3school.com.cn/sql/sql_update.asp
select * from
insert into 表名 values
delete from 表名
update from 表名 set
在Tools》Recording_Options》Port Mapping>Capture level設(shè)置為 WinNet level data
問題圖片如下:
以前參加的需求評審基本是一個項目里的小迭代,就知道針對需求進(jìn)行評審,昨天下午參加了一個新項目的需求評審,總結(jié)下經(jīng)驗:
1.需求評審前需要看需求文檔,熟悉新做的項目的基本功能
2.對于新項目有好多功能是從產(chǎn)品中挪過來的,需求也沒有寫,但是我們測試在參加評審時需要對之前的功能也進(jìn)行討論
把遇到的問題都記錄下來,然后再會議上提出來。
3.對以前項目沒注意發(fā)生的事故也要進(jìn)行回憶,防止新項目有同樣的問題
4.對于一些模塊沒有控制權(quán)限問題,誰都可以添加、刪除需要著重提出,以防以后用戶自己操作數(shù)據(jù)刪除了說丟失數(shù)據(jù)找不到原因
5.對于測試的范圍需要確認(rèn),哪些是需要測試的哪些是不需要測試的
6.對于測試的環(huán)境也要確認(rèn),比如分辨率問題、ie瀏覽器版本問題
7.對于功能里用的其他模塊的數(shù)據(jù),而恰巧其他的模塊還是不用測試需要對數(shù)據(jù)來源進(jìn)行確認(rèn),如數(shù)據(jù)過來顯示錯誤是哪方的問題,不要到時候扯不清
1.使用find / -name rpc.rstatd命令查看系統(tǒng)是否存在rpc.rstatd文件

2.查看Rpc有沒有啟動 rpcinfo -p
啟動時如下:
沒有啟動如下:

進(jìn)入rstatd目錄,啟動命令為:#rpc.rstatd
5.可能遇到的錯誤
安裝完畢rstatd守護(hù)進(jìn)程,在啟動時可能出現(xiàn)以下錯誤:
Cannot register service: RPC: Unable to receive; errno = Connection refused
這是由于Linux服務(wù)器沒有開啟端口映射功能,解決方法如下:
(1) 在linux的圖形界面下,運(yùn)行setup
[root@testserver4]#setup
這時會彈出一個類似圖形化的界面,光標(biāo)移動到System services,回車。
在新界面中找到portmap項,空格選中。

然后選擇OK(通過tab鍵進(jìn)行選擇),再選擇quit。
(2) 啟動portmap服務(wù)
[root@testserver4]#/etc/rc.d/init.d/portmap start //啟動portmap
再次啟動rpc.rstatd即可。
1.可以對單個文件改編碼格式 右鍵》屬性
2 改變整個myEclipse工作空間的編碼格式
1) myeclipse->window->preferences->General->workspaceTypes
2) 改變文本文件編碼格式為utf-8
3 改變整個文件類型的編碼格式
1) eclipse->window->preferences->General->Content Types
2) 找到要修改的文件的類型(JAVA,JSP等等),在下面有個Default encoding,在輸入框中輸入GBK 或UTF-8
3) 點擊Update
4) 點擊OK
5) 重啟eclipse
java.lang.RuntimeException: Could not start Selenium session: Failed to start new browser session: java.lang.RuntimeException: java.lang.RuntimeException: Firefox could not be found in the path!
Please add the directory containing ''firefox.exe'' to your PATH environment
variable, or explicitly specify a path to Firefox like this:
*firefox c:\blah\firefox.exe
原因:找不到firefox(火狐不是默認(rèn)安裝位置自己換了位置的),不能打開瀏覽器
解決方案:
方法一:設(shè)置環(huán)境變量,將火狐的地址放進(jìn)path變量中
方法二:將火狐的路徑寫進(jìn)來,注意路徑的\要用\\,其中一個\是轉(zhuǎn)義的意思
即下面的"*firefox"改為 "*firefox D:\\study\\selenium\\Firefox\\firefox.exe"
器失敗.png)
啟用selenium-server提示W(wǎng)ARN-Failed to start:SocketListener000.0.0.0:4444
主要是因為已經(jīng)有另外一個Selenium server 啟動了,你可以查看是否有其他的selenium server正在運(yùn)行,如果有請將其關(guān)閉;否則就是有另外的服務(wù)器在使用4444端口,請更換端口。
開始--運(yùn)行--cmd 進(jìn)入命令提示符 輸入netstat -ano 即可看到所有連接的PID 之后在任務(wù)管理器中找到這個PID所對應(yīng)的程序如果任務(wù)管理器中沒有PID這一項,可以在任務(wù)管理器中選"查看"-"選擇列"
假如我們需要確定誰占用了我們的9050端口
1、Windows平臺
在windows命令行窗口下執(zhí)行:
C:\>netstat -aon|findstr "9050"
TCP 127.0.0.1:9050 0.0.0.0:0 LISTENING 2016
C:\>tasklist|findstr "2016"
tor.exe 2016 Console 0 16,064 K
很清楚是,tor占用了9095端口
在這里,我們查看4444端口占用,如下圖所示
口
再重新啟動,如下就成功了

2.linux平臺
ps -efa|grep selenium
殺了該進(jìn)程
遇到的錯誤:
java.lang.RuntimeException: Could not contact Selenium Server; have you started it on 'localhost:4444' ?
Read more at http://seleniumhq.org/projects/remote-control/not-started.html
Connection refused: connect
at com.thoughtworks.selenium.DefaultSelenium.start(DefaultSelenium.java:104)
原因:selenium server未啟動,我把啟動頁面cmd關(guān)了
解決方案:啟動selenium server:java -jar selenium-server-standalone-2.44.1.jar

Url: chrome://selenium-ide/content/sourceView.js, line: 34, column: 7
SourceView.prototype.rowInserted@chrome://selenium-ide/content/sourceView.js:34:8
Editor.prototype.addCommand@chrome://selenium-ide/content/editor.js:858:5
Editor.prototype.appendWaitForPageToLoad@chrome://selenium-ide/content/editor.js:885:7
Editor.prototype.onUnloadDocument/<@chrome://selenium-ide/content/editor.js:662:5

option>options>Formats>Enviroment (有三個)都改成火狐firefox

在命令行中,執(zhí)行l(wèi)snrctl status
找到監(jiān)聽程序參數(shù)文件位置即listener.ora
修改監(jiān)聽程序參數(shù)文件
重啟listener,在命令行中依次執(zhí)行 lsnrctl stop,lsnrctl start




1.ctrl+shift+r 輸入handingA則可以找到action頁面
2.在action頁面用ctrl+o查找view方法,看該方法的返回值 比如是:return“view”
3.再ctrl+shift+r 輸入handing-view就可以找到改界面
我下載的是2.7.8 64位的,默認(rèn)安裝目錄C:\Python27,然后將此路徑添加到電腦的環(huán)境變量Path里
即在path環(huán)境變量后加上C:\Python27
在windows下,即可以使用命令行的方式,也可以使用IDLE來開發(fā)python。首先介紹命令行的方式:設(shè)置PATH,將python的安裝路徑添加至PATH環(huán)境變量中即可。在命令行中輸入python,會顯示相應(yīng)的版本號,并進(jìn)入至python工作環(huán)境中去。
從cmd進(jìn)去,輸入python驗證是否安裝成功。如果看到版本等信息則表示安裝成功了

在F盤新建目錄learnPython,然后新建一個txt文檔后綴改為.py,文件名字為test.py,注意不是test.py.txt.這時會發(fā)現(xiàn)圖標(biāo)發(fā)生了變化。在保存時后面會讓選cp569之類的編碼方式,不用管他用默認(rèn)的。cmd里進(jìn)入到F盤的learnPython目錄后(先cd \進(jìn)入根目錄,再F:則進(jìn)入到f盤,然后cd learn。。可以用tab鍵快捷),輸入命令python test.py, 就可以看到如下運(yùn)行結(jié)果

另外一種方式是IDLE,這個是python默認(rèn)安裝的開發(fā)環(huán)境

運(yùn)行:
行結(jié)果.jpg)
1.下載Python,進(jìn)入官網(wǎng)
https://www.python.org/,downloads下載windows的python
我下的是2.7.8;
主要是 2.X版本運(yùn)行速度快,3.X支持的新語言比較多
2.下載集成開發(fā)環(huán)境 官網(wǎng):http://www.jetbrains.com/
拖到下方下載 使用PyCharm,點擊進(jìn)去點擊獲取pycharm 即 Get PyCharm Now
解決方法:
2、安裝:LRVS2005IDEAddInSetup.exe
2.登錄服務(wù)器windows環(huán)境,點擊計算機(jī)》管理》服務(wù)和應(yīng)用程序》服務(wù) 【也可以在開始》運(yùn)行輸入services.mcs】
開啟以下兩個服務(wù)
1) Remote Procedure Call(RPC)
描述: RPCSS 服務(wù)是 COM 和 DCOM 服務(wù)器的服務(wù)控制管理器。它執(zhí)行 COM 和 DCOM 服務(wù)器的對象激活請求、對象導(dǎo)出程序解析和分布式垃圾收集。如果此服務(wù)被停用或禁用,則使用 COM 或 DCOM 的程序?qū)o法正常工作。
2) Remote Registry (service有的計算機(jī)有這個單詞有的沒有)
描述:遠(yuǎn)程用戶能修改此計算機(jī)上的注冊表設(shè)置。如果此服務(wù)被終止,只有此計算機(jī)上的用戶才能修改注冊表。如果此服務(wù)被禁用,任何依賴它的服務(wù)將無法啟動。
3.需要對服務(wù)起的系統(tǒng)本地策略進(jìn)行更改,這個很重要,也是決定客戶端能不能訪問服務(wù)器端的關(guān)鍵步驟
控制面板》管理工具》本地安全策略 》 本地策略下點擊安全選項》在右邊選擇網(wǎng)絡(luò)訪問:本地賬戶的共享跟安全模式屬性》然后右鍵屬性
設(shè)置成:經(jīng)典—本地用戶以自己的身份驗證 默認(rèn)下是僅來賓模式
4.服務(wù)器windows:我的電腦》管理》共享文件夾》共享,在這里要有C$這個文件夾,沒有自己創(chuàng)建一個
5.安裝LR的機(jī)器上使用運(yùn)行。輸入 //被監(jiān)視機(jī)器的ip/C$,然后輸入管理元帳號跟密碼,果能看到被監(jiān)視機(jī)器的C盤了,就說明你得到了那臺機(jī)器的管理員權(quán)限,可以使用LR去連接了。
切換到LR的Controller中在Windows Resources下配置監(jiān)控目標(biāo)(在system resources下可以選unix跟windows ),
右鍵》Add Measurements,添加被監(jiān)控windows的ip地址,然后選擇所屬系統(tǒng)
1.集合點的含義 rendezvous
當(dāng)通過controller虛擬多個用戶執(zhí)行該腳本時。用戶的啟動或運(yùn)行步驟不一定都是同步的。集合點是在腳本的某處設(shè)置一個標(biāo)記。當(dāng)有虛擬用戶運(yùn)行到這個標(biāo)記處時,停下等待,直到所有的用戶都達(dá)到這個標(biāo)記處時,再一同進(jìn)行下面的步驟,這樣能夠用最大的用戶并發(fā)去做下面的操作,就像集合再前進(jìn)一樣。集合點之名由此而得。集合點主要用于對關(guān)鍵步驟的加壓。
2.插入集合點的目的
集合點的用處對于LoadRunner來說意義非常大,它可以設(shè)置多個虛擬用戶等待到一個點,同時觸發(fā)一個事務(wù),以達(dá)到模擬真實環(huán)境下同時多個用戶操作,同時模擬負(fù)載,實現(xiàn)性能測試的最終目的。由此可見,插入集合點主要是為了衡量在加重負(fù)載的情況下服務(wù)器的性能情況,從而找到性能瓶頸。可以把集合點理解成是一種特殊情況下的并發(fā)。
舉例如下:在客戶的需求中,可能會要求系統(tǒng)能夠承受500人同時提交數(shù)據(jù)。在LR中可以通過在提交數(shù)據(jù)操作前面加入集合點,當(dāng)虛擬用戶運(yùn)行到提交數(shù)據(jù)的集合點時,LR就會檢查同時有多少用戶運(yùn)行到集合點,如果我們設(shè)定腳本運(yùn)行的虛擬用戶數(shù)為1000,等到這1000個虛擬用戶都運(yùn)行到集合點后,就會觸發(fā)同時進(jìn)行提交數(shù)據(jù)的操作,從而能夠測試系統(tǒng)能夠?qū)τ谶@1000個用戶提交數(shù)據(jù)的響應(yīng)情況,以此來看系統(tǒng)是否滿足客戶的該點需求。
事務(wù):就是用戶某一步或者某幾步操作的集合。當(dāng)我們需要通過某一步或是某幾步操作從而衡量服務(wù)器的性能的時候,這時我們就把這些操作設(shè)置成一個事務(wù),當(dāng)事務(wù)開始執(zhí)行的時候lr就開始計時當(dāng)事務(wù)運(yùn)行結(jié)束計時停止,執(zhí)行事務(wù)的時間會在在最后的結(jié)果中顯示出來。
集合點一般是跟事務(wù)結(jié)合使用的,不要把集合點設(shè)置到事物里面,因為那樣的話腳本等待的時間都計算在事務(wù)的時間內(nèi),進(jìn)行壓力測試的時候查看響應(yīng)時間就會有一定的偏差。集合點應(yīng)插入到事務(wù)開始的前面,這樣在這個地方達(dá)到用戶的數(shù)量后同時執(zhí)行下面的事務(wù)才能測試出多個用戶能否同時執(zhí)行某一操作。
實例:在測試查詢編號這個功能,需要在點擊查詢時設(shè)置事務(wù)跟集合點
方法一:先設(shè)置集合點再設(shè)置事務(wù),壓20個用戶時平均響應(yīng)時間為16.400
方法二:先設(shè)置事務(wù)再設(shè)置集合點,壓20個用戶時平均響應(yīng)時間為0.799
在腳本中直接添加:
lr_rendezvous("集合點名稱");
如果腳本中設(shè)置了集合點,在conntrol的場景中Scenario/Rendezvous集合功能點會亮(沒有則是灰色)。就可以來設(shè)置虛擬用戶集合的方式。
如果腳本之前沒有集合點,后面加進(jìn)去的,已經(jīng)加載在場景了要進(jìn)行刷新,獲取最新腳本。
Controller的Scenario Groups中,有個按鈕Details,進(jìn)去之后會有Refresh按鈕,有刷新腳本和運(yùn)行設(shè)置兩項
集合點設(shè)置策略Policy:總共有3種
1.當(dāng)百分之多少的用戶到達(dá)集合點時腳本繼續(xù)。
3.多少個用戶到達(dá)集合點時腳本繼續(xù)。
說明:其中1跟2兩種只針對設(shè)置了多少分鐘啟動多少用戶,如果一開始就加載所有用戶就沒有什么區(qū)別
這3個策略的區(qū)別在于:假設(shè)腳本由100個用戶來運(yùn)行,但100個用戶并不是一開始就共同運(yùn)行的。假設(shè)每隔1分鐘添加10個用戶,也就是說10分鐘后系統(tǒng)才有100個在線用戶。這里100就是指系統(tǒng)訪問的所有用戶數(shù),而不同時間的在線用戶數(shù)是不同的。設(shè)置的集合點策略百分比均為100%。在場景運(yùn)行時,當(dāng)Vuser腳本運(yùn)行到集合點函數(shù)時,該虛擬用戶會進(jìn)入集合點狀態(tài)直到集合點策略滿足后才釋放。策略1是指當(dāng)全部用戶都運(yùn)行到了集合點函數(shù)才釋放集合,讓這100個用戶并發(fā)運(yùn)行后面的腳本。策略2是指當(dāng)前時間如果只有10個用戶在線,那么只需要這10個用戶都運(yùn)行到了集合點函數(shù)就釋放集合,讓這10個用戶并發(fā)運(yùn)行后面的腳本。策略3就比較好理解了,當(dāng)?shù)竭_(dá)集合點的用戶數(shù)達(dá)到自己設(shè)置的數(shù)量后就釋放等待,并發(fā)運(yùn)行后面的腳本。可以在多個腳本上設(shè)置相同的集合點名稱來實現(xiàn)多個腳本同時并發(fā)的效果。
設(shè)置集合點策略時還有一個集合點超時
在腳本運(yùn)行時,每個虛擬用戶到達(dá)集合點時都會去檢查一下集合點的策略設(shè)置,如果不滿足,那么就在集合狀態(tài)等待,直到集合點策略滿足后,才運(yùn)行下一步操作。但是可能存在前一個虛擬用戶和后一個虛擬用戶達(dá)到集合點的時間間隔非常長的情況,所以需要指定一個超時的時間,如果超過這個時間就不等待遲到的虛擬用戶了。
超時時間是指虛擬用戶之間的時間差,當(dāng)出現(xiàn)兩個虛擬用戶到達(dá)集合點的時間差超過設(shè)定的超時時間時,所有在集合點處于等待狀態(tài)中的用戶將全部釋放。