




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
Yaml數(shù) 能夠掌握yaml能夠使用代碼讀寫yamlYaml是一種所有編程語(yǔ)言可用的友好的數(shù)據(jù)序列化標(biāo)準(zhǔn)。語(yǔ)法和其他高階語(yǔ)言類似,并且可以簡(jiǎn)單表達(dá)字典、列表將一個(gè)字典{"name":"xiaoming","age","18"}寫成Yamlnamename:"xiaoming"age:"18"importimportwithopen("./data.yaml",'r')asf:data=yaml.load(f)使用Yaml編寫{"name":"xiaoming","age","namename:"xiaoming"age:"18"使用Yaml編寫["1","2",列表中的元素需要用“-”來(lái)表示,每一個(gè)元素前面都有一個(gè)“-”使用Yaml編寫{people1:{"name":"xiaoming","age","18"},people2:{"name":"xiaohong","age","name:"xiaoming"age:"18"name:"xiaohong"age:"20"使用Yaml編寫{people1:["1","2","使用Yaml編寫[{"name":"xiaoming","age","18"},{"name":"xiaohong","age","--name:"xiaoming"age:"18"-name:"xiaohong"age:"20"使用Yaml編寫[["1","2","3"],["4","5","Yaml["1","2",{"name":["xiaoming","xiaohong"],"age":"18"},[{"name":"xiaoqiang","age":"28"},"3","4"],["7",age:"18"--name:"xiaoqiang"age:"28":工作中的yaml除了最基本的字符串,還可能要使用其他的一些數(shù)據(jù)類型。學(xué)習(xí)之后,我們就可以編寫包含其他數(shù)據(jù)類型的yaml文件了。同時(shí),也可以知道其中部分?jǐn)?shù)據(jù)類型的。Yaml""整數(shù)1":"整數(shù)2":Yaml""浮點(diǎn)數(shù)1":"浮點(diǎn)數(shù)2":Yaml""布爾類型1":True"布爾類型2":TRUE"布爾類型3":true"布爾類型4":False"布爾類型5":FALSE"布爾類型6":Yaml""空值1"Null"空值2":"空值3":Yaml""時(shí)間":2019-03-25Yaml""字符串1": "字符串 yl的讀寫在后續(xù)的數(shù)據(jù)驅(qū)動(dòng)應(yīng)用中起到不可或缺的作用。掌握yal的讀寫不僅可以用于測(cè)試,如果以后大家想從事thn的工作,也會(huì)可能會(huì)使用到。importimport#打開 withopen("./data.yaml",'r')asf:#加載文件內(nèi)容datayaml.load(f)#打印結(jié)果實(shí)際上就是先使用withopen的形式獲取文件對(duì)象,再使用yaml中的load在windows在windows系統(tǒng)中,去讀中文可能有問(wèn)題,需要在withopen中增加參數(shù)encoding='utf-import#打開 withopen("./data.yaml",'r',encoding='utf-8')asf:#加載文件內(nèi)容datayaml.load(f)#打印結(jié)果importimport#準(zhǔn)備datadata={'search_data':{'search_test_002':{'expect':{'value':'search_test_001':{'expect':[4,5,6],'value':o'},'value':#將datawithopen("./data_dump.yaml","w")asyaml.dump(data,expect:[4,5,value:456expect:{value: 編碼。importimport#準(zhǔn)備datadata={search_data':{'search_test_002':{'expect':{'value':'你好'},'value':'你好'search_test_001':{'expect':[4,5,6],'value':#將datawithopen("./data_dump.yaml","w")asyaml.dump(data,f,encoding='utf-8',寫入實(shí)際上就是先使用withopen的形式獲取文件對(duì)象,再使用yaml中的dump所謂數(shù)據(jù)驅(qū)動(dòng)應(yīng)用,就是將我們?cè)谧詣?dòng)化測(cè)試的使用的數(shù)據(jù)部分不在中“寫死”而是通過(guò)yaml的形式進(jìn)行展使用pytest框架+po模式+yamladdopts=-s--reruns0testpaths=./scriptspython_files=test_*.pypython_classes=Test*python_functions=test_*fromfrommon.byimportfrombase.base_actionimportclass name_edit_text=By.XPATH, phone_edit_text=By.XPATH, definput_name(self,text):self.input(_edit_text,text)definput_phone(self,fromfrommon.byimportfrombase.base_actionimportclass#add_contact_button=By.ID,#deffrompage.new_contact_pageimportNewContactPageclassdefinit(self,driver):self.driver=driverdefreturndefreturnimporttimeimporttimefrombase.base_driverimportinit_driverfrompage.pageimportPageclassdefself.driver=init_driver()self.page=Page(self.driver)defteardown(self):@pytest.mark.parametrize(("name","phone"),[("zhangsan","), "),("wangwu", deftest_contact(self,name,phone):#主頁(yè)-點(diǎn)擊新建聯(lián)系人#新建聯(lián)系人-輸入#新建聯(lián)系人-輸入將scripts/test_contact.py中的@pytest.mark.parametrize(("name","phone"),""),("lisi",""),("lisi","),("wangwu",yaml數(shù)據(jù)和之間的對(duì)應(yīng)關(guān)系我們?cè)趯?shí)際工作中,不同的項(xiàng)目可能會(huì)遇到很多有變化的情況,以下來(lái)列舉這些“變數(shù)一個(gè)項(xiàng)目有多個(gè)“模塊”一個(gè)模塊有多個(gè)“測(cè)試”都需要使用數(shù)據(jù)一個(gè)測(cè)試有多個(gè)“用例”都需要使用數(shù)其實(shí),一個(gè)項(xiàng)目無(wú)非就是這些“變數(shù)”,只要大家掌握yaml數(shù)據(jù)和這些“變數(shù)”接下來(lái)我們來(lái)用測(cè)試用例和yaml數(shù)據(jù)最終的結(jié)果進(jìn)行一個(gè)對(duì)比。zhangsan,lisi,wangwu,zhangsan,lisi,的,的,yamlusername:"zhangsan"password:"zhangsan123"username:"lisi"password:"lisi123"username:"wangwu"password:"wangwu123"username:"zhangsan"password:"zhangsan321"username:"lisi"password:"lisi321"phone:"password:"123000"phone:"password:""一個(gè)yamlsign_up_data.yaml對(duì)應(yīng)login_data.yaml對(duì)應(yīng)登錄數(shù)據(jù)內(nèi)容中最外層key對(duì)應(yīng)一個(gè)模塊下的名test_username_sign_up對(duì)應(yīng)函數(shù)test_username_sign_uptest_phone_sign_up對(duì)應(yīng)函數(shù)test_phone_sign_up數(shù)據(jù)內(nèi)容中第二層keytest_username_sign_up_001對(duì)應(yīng)編號(hào)test_username_sign_up_001test_username_sign_up_002test_username_sign_up_002數(shù)據(jù)內(nèi)容中最里層keyusername對(duì)應(yīng)用戶名password對(duì)應(yīng)name:"zhangsan"phone:"name:"lisi"phone:"name:"wangwu"phone:""" 析方法即可,為了后期也可以解析其他的文件,我們直接將解析內(nèi)容寫到base中即可。base/base_importosimportos yze_file(file_name,withopen(".%sdata%s%s"%(os.sep,os.sep,file_name),"r")asf:case_data=yaml.load(f)[key]data_list=foriincase_data.values():returnimporttimeimporttimefromyzefrombase.base_driverimportfrompage.pageimportclassdefself.driver=init_driver()self.page=Page(self.driver)defteardown(self):deftest_contact(self,args):name=phone=#主頁(yè)-點(diǎn)擊新建聯(lián)系人#新建聯(lián)系人-輸入#新建聯(lián)系人-斷。輸入完和 后,點(diǎn)擊返回。會(huì)展示保存的聯(lián)系人頁(yè)面,如果這個(gè)頁(yè)面上展示的是我們剛剛存的聯(lián)系人,就可以認(rèn)為是成功的。resource-id為fromfrommon.byimportfrombase.base_actionimportclass name_title_feature=By.ID,defreturnfrompage.contact_list_pageimportContactListPagefrompage.new_contact_pageimportNewContactPagefrompage.contact_list_pageimportContactListPagefrompage.new_contact_pageimportNewContactPagefrompage.saved_contact_pageimportSavedContactPageclassdefinit(self,driver):self.driver=driverdefreturndefdefreturndefreturnimporttimeimpo
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 全年體育課程教學(xué)計(jì)劃
- 產(chǎn)品開發(fā)過(guò)程中的質(zhì)量控制與測(cè)試
- 家居產(chǎn)品供應(yīng)鏈管理流程
- 教育機(jī)構(gòu)總經(jīng)理的工作職責(zé)與發(fā)展規(guī)劃
- 藝術(shù)人才培養(yǎng)與發(fā)展計(jì)劃
- IT行業(yè)低值易耗品管理流程
- 電子商務(wù)信息技術(shù)應(yīng)用能力提升計(jì)劃
- 小學(xué)教師班主任信息技術(shù)應(yīng)用計(jì)劃
- 小學(xué)語(yǔ)文教師雙減政策下的教學(xué)反思與心得體會(huì)
- 高中化學(xué)新教材使用心得體會(huì)
- 湘教版七年級(jí)地理下冊(cè)第七章第四節(jié)歐洲西部課件
- 超星學(xué)習(xí)通四史教育答案
- 基坑工程土方開挖支護(hù)與降水監(jiān)理實(shí)施細(xì)則
- 數(shù)字信號(hào)處理(課件)
- 沉淀理論課件
- 最新高三主題班會(huì):行百里者半九十課件
- 土方回填施工記錄表
- 體育調(diào)查問(wèn)卷
- 公司樣品標(biāo)識(shí)卡
- 英語(yǔ)人教新起點(diǎn)(一起)四年級(jí)下冊(cè)-Unit 3 Lesson 2 Travel plans教學(xué)設(shè)計(jì)
- SONYα300α350使用手冊(cè)
評(píng)論
0/150
提交評(píng)論