<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          測(cè)試面試題集-UI自動(dòng)化測(cè)試

          共 2682字,需瀏覽 6分鐘

           ·

          2020-10-18 02:58

          VOL 165

          16

          2020-10

          今天距2021年76天

          這是ITester軟件測(cè)試小棧第165次推文

          點(diǎn)擊上方藍(lán)字“ITester軟件測(cè)試小棧“關(guān)注我,每周一五早上?08:30準(zhǔn)時(shí)推送,每月不定期贈(zèng)送技術(shù)書(shū)籍


          微信公眾號(hào)后臺(tái)回復(fù)“資源測(cè)試工具包”領(lǐng)取測(cè)試資源,回復(fù)“微信群一起進(jìn)群打怪。


          本文2533字,閱讀約需7分鐘





          ?列舉web自動(dòng)化中常見(jiàn)的元素定位方式?
          • id:根據(jù)id來(lái)獲取元素,返回單個(gè)元素,id值一般是唯一的;

          • name:根據(jù)元素的name屬性定位;

          • tagName:根據(jù)元素的標(biāo)簽名定位;

          • className:根據(jù)元素的樣式class值定位;

          • linkText:根據(jù)超鏈接的文本值定位;

          • partialLinkText:根據(jù)超鏈接的部分文本值定位;

          • cssSelector:css選擇器定位;

          • xpath:通過(guò)元素的路徑來(lái)定位;



          ?簡(jiǎn)述你所知道的延時(shí)等待方式?

          強(qiáng)制等待叫線程等待, 通過(guò)線程休眠的方式完成的等待,如等待5秒: Thread sleep(5000),一般情況下不太使用強(qiáng)制等待,主要應(yīng)用的場(chǎng)景在于不同系統(tǒng)交互的地方。

          隱式等待通過(guò)implicitly Wait完成的延時(shí)等待,注意這種是針對(duì)全局設(shè)置的等待,如設(shè)置超時(shí)時(shí)間為10秒,使用了implicitlyWait后,如果第一次沒(méi)有找到元素,會(huì)在10秒之內(nèi)不斷循環(huán)去找元素,如果超過(guò)10秒還沒(méi)有找到,則拋出異常,硬式等待比較智能,它可以通過(guò)全局配置,但是只能用于元素定位。

          顯式等待也稱為智能等待,針對(duì)指定元素定位指定等待時(shí)間,在指定時(shí)間范圍內(nèi)進(jìn)行元素查找,找到元素則直接返回,如果在超時(shí)還沒(méi)有找到元素,則拋出異常,顯示等待是 selenium 當(dāng)中比較靈活的一種等待方式,他的實(shí)現(xiàn)原理其實(shí)是通過(guò) while 循環(huán)不停的嘗試需要進(jìn)行的操作。


          ?
          ?如何模擬瀏覽器的前進(jìn)和后退、刷新?

          具體如下:
          driver.navigate().back();?//后退
          driver.navigate().forward();//前進(jìn)
          driver.navigate().refresh();//刷新


          ?
          Selenium 自動(dòng)化如何進(jìn)行文件上傳?

          如果是input元素的文件上傳,可以通過(guò) Selenium 當(dāng)中的 send_keys 方式進(jìn)行傳遞,但是這種方式局限性比較大,如果遇到像通過(guò) js 調(diào)用的組件會(huì)有一些問(wèn)題;這個(gè)時(shí)候就需要通過(guò)一些和系統(tǒng)交互的方式去完成上傳操作,比如通過(guò)autoitpywinauto 或者是pyautogui這些第三方庫(kù)進(jìn)行操作。




          ?UI自動(dòng)化測(cè)試用例如何設(shè)計(jì)?

          UI自動(dòng)化測(cè)試用例是從手工測(cè)試用例中提取出來(lái)的,跟手工測(cè)試用例相比,自動(dòng)化測(cè)試用例更加注重用例的嚴(yán)謹(jǐn)性,選擇用例的時(shí)候遵循以下原則:

          • 優(yōu)先選取覆蓋產(chǎn)品核心功能的用例;

          • 從成本考量,不要選擇流程過(guò)于復(fù)雜的用例;

          • 選取的用例可以是重復(fù)執(zhí)行,繁瑣的部分,比如字段驗(yàn)證、提示信息驗(yàn)證;

          • 優(yōu)先實(shí)現(xiàn)正向的測(cè)試用例,反向用例一般情況復(fù)雜、數(shù)量多;



          ?什么是PO模式?

          PO模式,全稱為Page Object Model ,簡(jiǎn)稱POM,是頁(yè)面對(duì)象模式。對(duì)頁(yè)面進(jìn)行抽象或者說(shuō)建模的過(guò)程,是把一個(gè)具體的頁(yè)面轉(zhuǎn)化為編程語(yǔ)言當(dāng)中的一個(gè)對(duì)象,頁(yè)面特性轉(zhuǎn)化成對(duì)象屬性,頁(yè)面操作轉(zhuǎn)化為對(duì)象方法。把頁(yè)面的一個(gè)個(gè)的web元素設(shè)計(jì)為頁(yè)面對(duì)象的屬性,把頁(yè)面上的操作(如點(diǎn)擊、輸入等)設(shè)計(jì)為頁(yè)面對(duì)象的行為。在自動(dòng)化測(cè)試當(dāng)中,主要用來(lái)實(shí)現(xiàn)對(duì)頁(yè)面操作和測(cè)試邏輯的一個(gè)分離,這樣做的好處是業(yè)務(wù)和實(shí)現(xiàn)分開(kāi),使自動(dòng)化測(cè)試腳本具備更高的可維護(hù)性。



          ?你認(rèn)為PO模式的封裝原則有哪些?
          • 公共方法表示頁(yè)面提供的一個(gè)服務(wù),比如我們可以把登錄封裝成一個(gè) login 方法,把搜索方法封裝成一個(gè)設(shè)施方法,把注冊(cè)操作封裝成一個(gè) register 的方法;

          • 盡量不要暴露頁(yè)面的內(nèi)部,比如一個(gè)HTML的頁(yè)面還有一個(gè)頁(yè)面的上下結(jié)構(gòu);

          • 在 PO 當(dāng)中一般不做斷言,會(huì)做到頁(yè)面邏輯和測(cè)試邏輯的分離;

          • PO 一般里面的方法返回 self 或者是其他的 Page Object ,也可以是一個(gè)元素屬性;

          • 整個(gè) PO 不需要封裝整個(gè)頁(yè)面的行為,用到什么邏輯就封裝什么;

          • 對(duì)于統(tǒng)一操作,如果出現(xiàn)不同的結(jié)果,可以把用不同的方法來(lái)表示,比如說(shuō)登錄成功有跳轉(zhuǎn),登錄失敗有報(bào)錯(cuò),如果登錄還有一種會(huì)授權(quán)的狀況,那么可以封裝成三個(gè)單獨(dú)的方法:login success、login error、login invalid。



          ?你怎么提高UI自動(dòng)化腳本的穩(wěn)定性
          • 盡量用相對(duì)路徑的xpath表達(dá)式;

          • 查找元素優(yōu)先用顯示等待;

          • 用例與用例之間盡量避免產(chǎn)生依賴,用例可以獨(dú)立執(zhí)行;

          • 用例執(zhí)行結(jié)束后對(duì)測(cè)試場(chǎng)景進(jìn)行還原,避免影響其他用例的執(zhí)行;

          • 腳本執(zhí)行失敗后加入重試機(jī)制,提升用例的穩(wěn)定性;

          • 盡量保證單獨(dú)的測(cè)試環(huán)境,避免其他的測(cè)試同步進(jìn)行;



          ?基于Web端如何做自動(dòng)化測(cè)試,談?wù)勀愕乃悸泛头较颍?/span>
          Web端的自動(dòng)化測(cè)試,基本就是模擬手工測(cè)試人員來(lái)做功能測(cè)試。用機(jī)器的自動(dòng)執(zhí)行代替人的操作。web端呈現(xiàn)的產(chǎn)品有兩個(gè)方向可以做自動(dòng)化測(cè)試:接口層和界面操作層,且接口層自動(dòng)化的比例要高于界面操作層。主要對(duì)產(chǎn)品穩(wěn)定的功能進(jìn)行自動(dòng)化測(cè)試,主要用于產(chǎn)品的核心功能冒煙測(cè)試、回歸測(cè)試。從系統(tǒng)最核心的功能開(kāi)始做,再根據(jù)情況慢慢展開(kāi)。



          ?UI 自動(dòng)化測(cè)試中,如何做集群?
          • Selenium Grid,分布式執(zhí)行用例;
          • Appium 使用 STF 管理多設(shè)備;
          • Docker+K8S 管理集群;


          以上

          That‘s all
          更多系列文章
          敬請(qǐng)期待

          ITester軟件測(cè)試小棧
          往期內(nèi)容寵幸


          1.測(cè)試面試集-Python接口自動(dòng)化測(cè)試

          2.測(cè)試面試題集-MySQL數(shù)據(jù)庫(kù)靈魂拷問(wèn)


          3.測(cè)試面試題集-Linux常用命令


          4.測(cè)試面試題集-接口測(cè)試

          5.測(cè)試面試題集-性能測(cè)試


          6.測(cè)試面試題集-網(wǎng)絡(luò)基礎(chǔ)


          7.測(cè)試面試題集-邏輯推理題


          8.測(cè)試面試題集-Python編程題


          9.Python接口自動(dòng)化之logging日志


          10.Python接口自動(dòng)化之logging封裝及實(shí)戰(zhàn)

          想獲取更多最新干貨內(nèi)容
          快來(lái)星標(biāo) 置頂 關(guān)注
          每周一、三、五 08:30見(jiàn)

          << ?滑動(dòng)查看下一張圖片 ?>>


          ?后臺(tái)?回復(fù)"資源"取干貨
          回復(fù)"微信群"一起打怪升級(jí)
          個(gè)人微信:Cc2015123
          添加請(qǐng)注明來(lái)意 :)
          真愛(ài)三連,升職加薪自由~
          瀏覽 63
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          評(píng)論
          圖片
          表情
          推薦
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  亚洲无视频 | 人体体内射精一区二区 | 国产真实学生妹一级A片吃精液视频 | 男女男精品网站 | 亚洲第一页面 |