云南ui自動(dòng)化測(cè)試安裝包readme_第1頁(yè)
云南ui自動(dòng)化測(cè)試安裝包readme_第2頁(yè)
云南ui自動(dòng)化測(cè)試安裝包readme_第3頁(yè)
云南ui自動(dòng)化測(cè)試安裝包readme_第4頁(yè)
云南ui自動(dòng)化測(cè)試安裝包readme_第5頁(yè)
已閱讀5頁(yè),還剩12頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、STEST App 測(cè)試已支持大部分操作,目前處于開(kāi)發(fā)階段,詳細(xì)情況請(qǐng)加():介紹Stest 是一款同時(shí)支持 Web UI,Http 接口,DB 操作的自動(dòng)化測(cè)試框架(即將支持 App 測(cè)試),由于開(kāi)始只支持 Web UI 測(cè)試,名字取自 Selenium,Web UI,Excel,Element, Test 含義。特點(diǎn):簡(jiǎn)單快速,輕松上手無(wú)需編碼能力在 Excel 中以文本編寫(xiě)測(cè)試用例4.成本低5. 支持千、萬(wàn)級(jí)別的用例規(guī)模6. 擁抱變化,支持敏捷背景目前,自動(dòng)化測(cè)試基本上是以 Selenium/Appium 等庫(kù)為接口來(lái)編寫(xiě)普遍遇到如下問(wèn)題:,但效果往往不是很好,1. 用例設(shè)計(jì)的編碼能力很

2、弱,測(cè)試代碼編寫(xiě)和成本高,效果差;測(cè)試代碼量大,測(cè)試意圖不直觀,無(wú)法支撐千、萬(wàn)級(jí)別的用例規(guī)模;頁(yè)面元素的定位非常繁瑣,且頁(yè)面結(jié)構(gòu)經(jīng)常變動(dòng),導(dǎo)致用例失效。為了解決以上問(wèn)題,使自動(dòng)化測(cè)試更簡(jiǎn)單、可靠、容易落地,試用例和傳統(tǒng)工測(cè)試用例一樣在 Excel 中用文本編寫(xiě)。設(shè)計(jì)了此自動(dòng)化測(cè)試框架,自動(dòng)化測(cè)同時(shí)的元素定位也設(shè)計(jì)的非常精巧,結(jié)合“變量定位法”,可以讓頁(yè)面只做最小適用。的去變化,而的定位實(shí)現(xiàn)思路Selenium 為底層接口;在 Excel 中用文本編寫(xiě)測(cè)試用例;元素定位表格化,且優(yōu)先使用“變量定位法”;4. 框架負(fù)責(zé)測(cè)試用例,執(zhí)行用例,日志,輸出。方案開(kāi)發(fā)語(yǔ)言:底層接口:Selenium用例工具

3、:Excel測(cè)試用例如下圖:安裝環(huán)境要求系統(tǒng)要求:Windows版本:3.6+瀏覽器:ChromeChrome 驅(qū)動(dòng): chromedriver (需和 Chrome 版本匹配,并配置環(huán)境變量,參考這里配置)安裝 STESTpip install stest升級(jí) STESTpip install -U stest快速體驗(yàn)打開(kāi) cmd 命令窗口,切換到某個(gè)目錄,如:D:Autotestscdtesttest_example start.pysOK,如果一切順利的話,stest 已經(jīng)跑起來(lái)了目錄結(jié)構(gòu)目錄說(shuō)明data測(cè)試數(shù)據(jù)目錄Baidu-baidu.csv測(cè)試數(shù)據(jù)文件,名稱格式:project_n

4、ame + - + sheet_name +.csvelement頁(yè)面元素表目錄Baidu-Elements.xlsx頁(yè)面元素表,名稱格式:project_name + “-Elements.xlsx”junitjunit格式目錄log自動(dòng)化測(cè)試運(yùn)行日志目錄reportExcel 格式目錄snapshot錯(cuò)誤截圖目錄testcase測(cè)試用例目錄Baidu-TestCase.xlsx測(cè)試用例,名稱格式:project_name + “-TestCase.xlsx”start.py啟動(dòng),備注:以上3處的 project_name 必須一致test = Autotest(project_name,

5、sheet_name)page element 所在的頁(yè)面,在所有頁(yè)面都可用的 element 放在“通用”下面,如 titleelemen ement 名稱,在不同的 page 下面可以同名by Selenium 定位方式value Selenium 定位的值custom 自定義字段,如 element 在 frame/iframe 中,則在此填寫(xiě) frame id/name備注 注釋作用元素定位1. id, link_text, partial_link_text, xpath, class_name如:page element by value搜索頁(yè)面 搜索框 id kw則自動(dòng)化運(yùn)行時(shí)會(huì)

6、以 find_element_by_id(kw) 來(lái)定位2. 帶變量的定位方式 如示例中:page element by value搜索頁(yè)面 搜索結(jié)果# xpath /*id=#/h3/a寫(xiě)用例時(shí),需要在搜索結(jié)果# 后面帶上變量,如: 搜索結(jié)果#1點(diǎn)擊 搜索頁(yè)面 搜索結(jié)果#1則自動(dòng)化運(yùn)行時(shí)會(huì)以 find_element_by_xpath(/*id=1/h3/a) 來(lái)定位已定義好的常用變量定位方式:alert# id# link#*link# xpath# class# name# div# input# button# table#url#如:當(dāng)然,如果#后面的變量不夠直觀的話,不建議太多使用

7、這幾個(gè)變量方式。3. alert#彈出框操作,支持如下幾個(gè)操作: 確認(rèn)取消 關(guān)閉 輸入如:點(diǎn)擊 通用 alert#確認(rèn)輸入 通用 alert#輸入 o world注:輸入操作,默認(rèn)自動(dòng)點(diǎn)擊確認(rèn)按鈕頁(yè)面title頁(yè)面的 title頁(yè)面url頁(yè)面的 url通用一般來(lái)講,導(dǎo)航欄在所有頁(yè)面都存在,應(yīng)該把導(dǎo)航欄放在“通用”下面,做成變量定位方式,如示例 中的:page element by value通用 搜索頁(yè)導(dǎo)航欄# xpath /*class=“s_tab”/atext()=#用例中的寫(xiě)法:點(diǎn)擊 通用 搜索頁(yè)導(dǎo)航欄#測(cè)試用例用例字段必填字段:用例測(cè)試步驟 操作頁(yè)面 元素前置條件:BASE: 整個(gè)測(cè)

8、試套件的基礎(chǔ),必須通過(guò)才會(huì)執(zhí)行下一步,如:登錄;如果有的話應(yīng)該為第一個(gè)測(cè) 試用例。SETUP:每個(gè)測(cè)試用例執(zhí)行前需要執(zhí)行的用例,只有 SETUP 執(zhí)行成功才會(huì)執(zhí)行該用例,如:返 回首頁(yè)。MAIN:一組用例的第一用例,和 SUB 一起使用,一個(gè) MAIN 后面可以帶多個(gè)連續(xù)的 SUB 用例。 此用例需要先執(zhí)行 SETUP 用例。SUB:和 MAIN 一起使用,當(dāng)前一個(gè)用例(MAIN or SUB)執(zhí)行結(jié)果為通過(guò)時(shí)才會(huì)執(zhí)行,否則測(cè)試結(jié) 果置為 Blocked;且執(zhí)行此用例前不會(huì)執(zhí)行 SETUP 用例。SKIP: 該用例跳過(guò) SETUP 執(zhí)行。 SNIPPET:用例片段,運(yùn)行到此用例時(shí)不會(huì)立即執(zhí)行,

9、需要在其他用例中使用“執(zhí)行”關(guān)鍵字調(diào)用 此“用例片段”,才會(huì)執(zhí)行;配合“執(zhí)行”關(guān)鍵字的變量賦值功能,可以實(shí)現(xiàn)用例復(fù)用。注意事項(xiàng):一般必須有 SETUP 用例。當(dāng)執(zhí)行 SETUP 失敗,會(huì)嘗試執(zhí)行一次 BASE-SETUP 作為 SETUP 的執(zhí)行結(jié)果。BASE 用例可以有 0 到多個(gè),但作為 SETUP 中 BASE-SETUP 的 BASE 只有最后一個(gè) BASE 用 例。SETUP 用例只能有 1 條,如果寫(xiě)了多條,只有最后一條起作用。操作(關(guān)鍵字)及對(duì)應(yīng)的測(cè)試數(shù)據(jù):打開(kāi)即 get 方法,打開(kāi)一個(gè) 。打開(kāi)操作,一般要在測(cè)試數(shù)據(jù)中指定新 頁(yè)名稱,如: 頁(yè)名= 搜索窗口。打開(kāi) 通用 首頁(yè) 頁(yè)名

10、= 搜索窗口如果需要 緩存再打開(kāi),則在測(cè)試數(shù)據(jù)中寫(xiě)上: 緩存=是打開(kāi) 通用 首頁(yè) 頁(yè)名= 搜索窗口, 緩存=是檢查取頁(yè)面元素的值、屬性和預(yù)期結(jié)果對(duì)比。測(cè)試數(shù)據(jù)中如果沒(méi)有寫(xiě)“k=v”的方式,則默認(rèn)是取元素的 text。 檢查 text:檢查 搜索頁(yè)面 搜索按鈕 一下等價(jià)于檢查 搜索頁(yè)面 搜索按鈕 text= 一下檢查屬性:檢查 搜索頁(yè)面 搜索框 name=wd“頁(yè)面title”和“頁(yè)面url”直接在測(cè)試數(shù)據(jù)中寫(xiě)預(yù)期結(jié)果即可。檢查 搜索頁(yè)面 頁(yè)面title 一下,你就知道注意:測(cè)試數(shù)據(jù)中,由于逗號(hào)(,or ,)是多個(gè)“k=v”的分隔符,所以如果 v 中有逗號(hào),要用反斜杠() 轉(zhuǎn)義;但等號(hào)(=)無(wú)需

11、轉(zhuǎn)義。輸入在輸入框中輸入文本:輸入 搜索頁(yè) 搜索框 搜狗框架會(huì)先做 clear() 操作,以防止輸入框中已有文本。如果不信做 clear() 操作,需在測(cè)試數(shù)據(jù)中,寫(xiě)上:清除文本=否,此時(shí)輸入的文本必須以text= 來(lái)指定,如:輸入 搜索頁(yè) 搜索框 text=搜狗,清除文本=否測(cè)試數(shù)據(jù)列為要輸入的內(nèi)容。,如:ctrl+a,如下:輸入 搜索頁(yè) 搜索框 這里的逗號(hào)前需要加反斜杠來(lái)轉(zhuǎn)義。 點(diǎn)擊點(diǎn)擊按鈕或者 等(一切可點(diǎn)擊操作的)元素,如:點(diǎn)擊搜索頁(yè)面搜索按鈕移動(dòng)到有些頁(yè)面元素,當(dāng)鼠標(biāo)移動(dòng)到上面時(shí),會(huì)彈出下拉菜單等。此操作同關(guān)鍵字“點(diǎn)擊”類似。執(zhí)行: 用例片段試用例片段,支持在測(cè)試數(shù)據(jù)中給變量賦值,如

12、有用例片段 SNIPPET_001,則測(cè)試即執(zhí)用例 BAIDU_002 中,步驟1如下:用例片段 SNIPPET_001keywords=搜狗執(zhí)行把變量 keyswords 賦值為“搜狗”,此步驟會(huì)執(zhí)行用例片段 SNIPPET_001,其搜索的關(guān)鍵字為“搜狗”。關(guān)鍵字支持循環(huán)次數(shù),只需要在元素列中,SNIPPET_ID*N,如:用例片段 SNIPPET_001*6執(zhí)行在循環(huán)執(zhí)行過(guò)程中,如果用例片段執(zhí)行失敗,則直接退出。如果想某次循環(huán)失敗后還繼續(xù)執(zhí)行,則只需要在N后加上一個(gè)*,如:用例片段 SNIPPET_001*6*執(zhí)行,即當(dāng)用例片段執(zhí)行/同時(shí),循環(huán)執(zhí)行還支持循環(huán)結(jié)束條件,值可取:或即跳出。優(yōu)

13、先級(jí)高于循環(huán)次數(shù),但是如果已經(jīng)把循環(huán)次數(shù)執(zhí)行完,還未觸發(fā),循環(huán)也會(huì)結(jié)束。如下:用例片段 SNIPPET_001*6循環(huán)結(jié)束條件=成功執(zhí)行執(zhí)行:即:執(zhí)行 js,js寫(xiě)在元素列window.alert(這是一個(gè)測(cè)試Alert彈窗);執(zhí)行#檢查把檢查結(jié)果反向。測(cè)試數(shù)據(jù):測(cè)試數(shù)據(jù)支持模糊匹配,如下:頁(yè)面標(biāo)題 *知乎檢查通用則,頁(yè)面標(biāo)題中含有“知乎”即為通過(guò)。注意星號(hào)(*)要寫(xiě)在開(kāi)頭。輸出數(shù)據(jù):在運(yùn)行時(shí),把元素的值或?qū)傩再x值給變量,此變量可以在之后的步驟中使用變量名。搜索結(jié)果#1title=text點(diǎn)擊搜索頁(yè)面頁(yè)面標(biāo)題 檢查通用測(cè)試步驟:除了控制語(yǔ)句符號(hào)外,測(cè)試步驟必須為數(shù)字,建議在 Excel 中設(shè)置

14、為文本格式。控制語(yǔ)句:if then else3頁(yè)面標(biāo)題 *知乎檢查通用4link#登錄點(diǎn)擊通用 表示 then 語(yǔ)句) 語(yǔ)句,為否時(shí)執(zhí)行 else() 或 else(章節(jié)里講的 keyswords=就是變量賦值。2. 運(yùn)行時(shí)變量當(dāng)某一變量是在測(cè)試執(zhí)行時(shí)才能獲取到,并在獲取之后的步驟中才能使用的變量,叫運(yùn)行時(shí)變量。章節(jié)里的 title=text 就是運(yùn)行時(shí)變量。在3. 測(cè)試數(shù)據(jù)文件:有些測(cè)試用例中的值,在每次執(zhí)行用例時(shí)都需要是唯一的,不能和之前使用過(guò)的重復(fù)。這時(shí)候要使用測(cè)試數(shù)據(jù)文件,如 Baidu-baidu.csv,如下表:就需_keywords_titleagsegmentfaultSeg

15、mentFault 思否Y豆瓣豆瓣測(cè)試數(shù)據(jù)文件中,第一行為變量名稱,建議以下劃線(_)開(kāi)頭,如 _title,以便和測(cè)試用例里定義的變量名稱區(qū)分,但最后一個(gè)字段 ag 為是否使用標(biāo)識(shí)(不能作為變量使用)。寫(xiě)測(cè)試用例時(shí),就可以直接使用 , 這些變量。如測(cè)試用例:BAIDU_005當(dāng)1SNIPPET_001keywords=執(zhí)行用例片段2搜索結(jié)果#1點(diǎn)擊搜索頁(yè)面3頁(yè)面title檢查通用當(dāng)自動(dòng)化運(yùn)行時(shí),會(huì)自動(dòng)去查找對(duì)應(yīng)的測(cè)試數(shù)據(jù)文件,如果有,則會(huì)順序文件行,當(dāng)讀到某一行ag 不為Y時(shí),就把該行數(shù)據(jù)導(dǎo)入到變量列表里,同時(shí)把測(cè)試數(shù)據(jù)文件中的該行的 ag 列寫(xiě)入Y。需要注意的是,當(dāng)測(cè)試數(shù)據(jù)文件中的所有行的

16、 ag 都為Y時(shí),就無(wú)數(shù)據(jù)導(dǎo)入了,測(cè)試用例執(zhí)行就會(huì)失敗。所以需要在測(cè)試數(shù)據(jù)文件中準(zhǔn)備好足夠多的數(shù)據(jù)行,或者及時(shí)添加數(shù)據(jù)。frame 切換如果有元素在 iframe/frame 中,則在元素定義表中,該元素需要定義 custom 的值,此值可以為id/name/index/WebElementid 或 name 直接寫(xiě)值即可index 以 # 開(kāi)頭,如:#1WebElement 必須以變量定位法來(lái)定義,如 id#su,xpath#/*class=“tabIframe”示例:pageelementbyvaluecustomidsu#1通用查詢?cè)毓芾頊y(cè)試用例中元素是以 page + element

17、 為唯一標(biāo)識(shí),來(lái)頁(yè)面元素表中查找下的元素 element 可以相同,但不能和“通用”下的相同。的。因此,不同 page測(cè)試用例中,如果 page 不為“通用”,當(dāng) + element 查找不到,會(huì)繼續(xù)以 “通用” + element 為標(biāo)識(shí)符來(lái)查找。“通用”是方便須這么做。寫(xiě)頁(yè)面元素表的,寫(xiě)用例時(shí)建議還是用 來(lái)代替“通用”,甚至有時(shí)候窗口管理(瀏覽器頁(yè))在瀏覽器中,有可能會(huì)打開(kāi)多個(gè)頁(yè),叫它為窗口。當(dāng)你新打開(kāi)一個(gè)頁(yè)時(shí),你可以在測(cè)試數(shù)據(jù)中給它起個(gè)名字,格式為:新窗口=, 如:新窗口=打開(kāi)通用搜索搜索窗口一下,你就知道檢查搜索頁(yè)面頁(yè)面標(biāo)題當(dāng)你給新的頁(yè)起了窗口名字,它之后步驟的頁(yè)面(通用除外)就會(huì)綁定到這個(gè)窗口。如上面第 2步,“搜索頁(yè)面”會(huì)綁定到“搜索窗口”。那么之后的步驟或用例中,即使打開(kāi)了多個(gè)頁(yè),只要頁(yè)面是“搜索頁(yè)面”,就會(huì)切換到“搜索窗口”這個(gè)頁(yè)上操作。注意:“通用”是不綁定到任何窗口的,也不做窗口切換,它直接在

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論