.确認(verifation)和斷言(assert)有什麼差別?
确認:當測試中的一個用例存在錯誤時,系統将會繼續運作這些測試
斷言:當測試中的一個用例存在錯誤時,系統将會退出目前用例
總而言之,确認和斷言的不同在于,當出現錯誤情況之後,系統将會如何處理。
.test case 和 test suite的差別?
test case是一個用例
test suite是一組用例
7.selenium IDE, selenium core, selenium core hta, selenium rc四者的概念以及它們之間的差別?
selenium IDE(內建開發環境)。它是一個firefox的插件,可以錄制、回放并編輯測試腳本
selenium Core(核心)。這是符合斷言機制,由測試套件執行的平台。它是整個測試機制的核心部分,由純javaScript代碼組成
selenium Core Hta.這是針對IE設計的執行平台,運作于IE的最高字全級别之上。
selenium Remote Control(遠端控制):它是一個代理與控制端,可代替selenium core/selenium DIE的用戶端,并支援多語言
8.能不能在IE中錄制腳本嗎?
不能,隻能在firefox中安裝selenium IDE,而隻有selenium IDE才存在錄制的功能。
如果想測試一些,不能在firefox中正常顯示的程式,則隻有安裝selenium RC,然後自己編寫測試腳本,隻有這樣,腳本才能在ie中運作。
12.怎樣安裝多視窗模型?
(1)啟動selenium-server時,輸入以下的指令:java -jar selenium-server.jar -multiwindow。則會在兩個視窗中顯示運作結果
(2)啟動selenium-server時,輸入以下的指令:java -jar selenium-server.jar -singlewindow。則會在一個視窗中顯示運作結果
15.怎樣通路變量?
${變量名}
16.在錄制的過程中,遇到了提示框的話,要怎樣處理才能在正常的回放?
17.錄制到郵件的時候,不能正常錄制,要如何處理呢?
錄制的時候,首先要指定要架構,然後再輸入文本。
例如:郵件通過firebug定位為:
在selenium ide中則需要手動的輸入以下的内容:
再輸入一條以下的指令:selectFrame relative=top
則,此時的腳本就能正常的運作了。
18.錄制到元件的時候,不能正常錄制,要怎樣處理?
例如:上傳附件(以及其它一些要上傳的東西),剛發現附件并不是不能錄制,而是你在界面中的定位不是很清楚,selenium不能識别。
19.錄制時,會跳出多個視窗,此時要怎樣處理?
存在四種解決方法,可以參考http://www.boobooke.com/bbs/viewthread.php?tid=41824&highlight=selenium中的第七集
具體方法如下:(1)java中可用如下的代碼:String[] titles =selenium.getAllWindowTitles(); //得到所有視窗的标題
selenium.selectWindow("title="+titles[titles.length-1]); //選擇最後打開的一個視窗
selenium.close(); //關閉最後打開的一個視窗
selenium.selectWindow("null"); //重新聚集在最開始的一個視窗(隻有兩個視窗的時候)
(2)java中可用如下的代碼:selenium.click("link=????"); 換成如下的兩行代碼
String url = selenium.getAttribute("link=????@href");
selenium.open(url);
注:此方法也存在一定的缺陷,就是不能驗證click點選事件是否正确。
(3)利用javascript去掉原代碼中的target="_blank"的屬性(目前為止還不清楚)
(4)這種方法不清楚,看的不是很懂
20.什麼是window id?
window id可以通過java中。selenium.getAllWindowId()方法得到,不過一般情況下都是undefined
22.selectFrame中的relative=up,relative=top,relative=parent等等,是什麼意思?它們之間存在怎樣的關系?
23.select,selectFrame,selectWindow,selectPopUp,這幾個功能的用法,以及在什麼時候用?
select用來操作下拉框。文法:select(selectLocator,optionLocator) ,例:select id=person_person_type,lable=非戶籍人口
selectFrame用來操作iframe架構。文法:selectFrame(location) ,例: select xpath =//iframe[@name='abc']
selectWindow用來操作多個視窗問題,至于如何操作可參考上面的19條的描述。
selectPopUp:這種情況還沒有遇到。
24.selectWindow 中的windowID怎樣定位呢?
(1)title:就是一個window标題欄中的文本。
(2)name:例:<a target="selenium_blank60273" href="http://bbs.51testing.com/">軟體測試論壇</a>,則selectWindow name='selenium_blank60273'
(3)var
25.錄制完成之後,經常會出現回放不成功的情況,在這種情況之下要如何處理呢?
(1)看是否要加上wait,很多的時候,隻要你加上wait之後,回放就能正常運作了,例如:原本為click,會報錯,修改為clickAndWait之後,系統就能正常回放
(2)判斷出錯的地方,此地方是不是因為架構沒有選對呢。例如:原本的架構為frame1,現在執行的操作在frame2時,此時要怎樣處理?
加上以下兩條語句:selectFrame. relative=up, selectFrame. frame2Locator;
26.selenium ide不能錄制的東西?
(1)html5中部分元素不能錄制
(2)上傳檔案控件不能錄制
(3)用于繪圖、圖像編輯、文檔設計、示範和web圖形設計的內建應用軟體不能錄制
(4)silverlight flex and flash不能錄制
27.[warn] Link has target '_blank', which is not supported in Selenium!這個問題的原因?(可參考上文中的19)
Link
has target
'_blank'這個好像是這樣的:當Link有這個屬性時,會打開新浏覽器視窗,如果target是"_blank"的話,Selenium不能找到打
開的新窗 口,如果target有一個明确的名字的話,selenium就能夠找到這個打開的新視窗并在其上進行操作了。
"_blank"的話,selenium不能保證一定找到找準這個視窗,是以給出警告,如果隻有這樣的一個視窗和主視窗,selenium通過一些變通的方法也能找到該窗 口,但是不保證。
這是selenium本身限制的問題,暫時不曉得怎麼解決,隻要不影響測試就不用管這個警告。
"selenium_blank4795 "這個應該是OpenQA裡提給selenium的bug号吧?
28.可以直接在DOS環境下,在打開selenium-server.jar的解壓目錄的情況下,可以輸入以下指令java -jar selenium-server.jar -singlewindow
-htmlsuite *iexpolrehttp://www.baidu.com"C:\Documents and Settings\zhuhui\桌面\testcase1" "C:\Documents and Settings\zhuhui\桌面 \result.html"時,系統會報錯?
對于這 個問題的解決方法,可參考http://bbs.51testing.com/thread-302909-1-1.html。由于要修改原碼,是以我暫時還沒有看。
29.com.thoughtworks.selenium.SeleniumException: XHR ERROR: URL =http://192.168.1.15:3000/loginResponse_Code = 500 Error_Message = Internal Server Error的原因是什麼?
注:
1.pop-up blocker的意思是:彈出視窗屏蔽(阻止未經許可彈出的視窗出現)
2.選擇一個架構之後,以後的指令都會在這個架構中,要想操作其它的架構,則必須要選擇相應的架構才能進行相關的操作。
3.目前在測試中,還沒有遇到多個window之間轉換的情況。現在隻遇到多個frame轉換的情況。