中文字幕精品亚洲无线码二区,国产黄a三级三级三级看三级,亚洲七七久久桃花影院,丰满少妇被猛烈进入,国产小视频在线观看网站

《剛(gang)剛(gang)問世(shi)》系列初窺(kui)篇-Java+Playwright自動化測試-30- 操作單選和(he)多選按鈕 - 番外篇(詳細教程(cheng))

1.簡介

前邊幾(ji)篇文(wen)章是(shi)宏(hong)哥自己在本地弄了一(yi)(yi)(yi)個單選(xuan)(xuan)(xuan)(xuan)和(he)(he)多(duo)選(xuan)(xuan)(xuan)(xuan)的(de)demo,給(gei)小(xiao)伙伴或童鞋們(men)演示了一(yi)(yi)(yi)下(xia)如何(he)使用(yong)playwright來(lai)(lai)處(chu)理(li)單選(xuan)(xuan)(xuan)(xuan)按(an)鈕和(he)(he)多(duo)選(xuan)(xuan)(xuan)(xuan)按(an)鈕進(jin)(jin)行(xing)自動(dong)化(hua)測試,想(xiang)必(bi)大(da)家都已經掌握的(de)八九不(bu)離(li)十了吧(ba)。這一(yi)(yi)(yi)篇其(qi)實(shi)也很簡單,主(zhu)要是(shi)分兩部分內容來(lai)(lai)講(jiang)解和(he)(he)分享的(de)。一(yi)(yi)(yi)部分,宏(hong)哥是(shi)利用(yong)JQueryUI網(wang)站(zhan)里的(de)單選(xuan)(xuan)(xuan)(xuan)和(he)(he)多(duo)選(xuan)(xuan)(xuan)(xuan)按(an)鈕進(jin)(jin)行(xing)實(shi)戰(zhan)(zhan),主(zhu)要是(shi)循環(huan)遍歷(li),對前邊內容進(jin)(jin)行(xing)梳(shu)理(li)和(he)(he)回顧。另一(yi)(yi)(yi)部分就是(shi)宏(hong)哥在網(wang)上找了一(yi)(yi)(yi)個問卷調(diao)查例子,運用(yong)前邊所學的(de)知識趁(chen)熱(re)打鐵(tie)地給(gei)小(xiao)伙伴或童鞋們(men)來(lai)(lai)演示一(yi)(yi)(yi)下(xia)。前邊的(de)文(wen)章中的(de)一(yi)(yi)(yi)些單選(xuan)(xuan)(xuan)(xuan)和(he)(he)多(duo)選(xuan)(xuan)(xuan)(xuan)的(de)基(ji)本概念都介(jie)紹(shao)了,這里就不(bu)做贅(zhui)述了。直接上項(xiang)目進(jin)(jin)行(xing)實(shi)戰(zhan)(zhan)。

2.JQueryUI網站

  這個是宏哥又找到的一個網站,不錯的,有(you)源碼。進入后可(ke)以搜索(suo)你要演示的demo。

2.1被測網址

1.被測網址(zhi)的(de)地址(zhi):

為了方便演示,宏哥直(zhi)接將(jiang)其(qi)iframe中(zhong)的url拿出來了,否(fou)則你的定位到iframe,然后才能定位里邊的元素。這個(ge)坑宏哥之前遇(yu)到過一次。這里再次提醒(xing)一下。

 

2.網頁如下圖:

2.2代碼設計

宏哥這(zhe)里只演示(shi)單選的遍歷,復選的有興趣的童鞋可(ke)以自己(ji)試一下(xia)。根據(ju)demo中的遍歷思路進行代碼設計。如下(xia)圖所(suo)示(shi):

2.3參考代碼

package com.bjhg.playwright;

import java.util.List;

import com.microsoft.playwright.Browser;
import com.microsoft.playwright.BrowserContext;
import com.microsoft.playwright.BrowserType;
import com.microsoft.playwright.Locator;
import com.microsoft.playwright.Page;
import com.microsoft.playwright.Playwright;

/**
 * @author 北(bei)京(jing)-宏(hong)哥(ge)
 * 
 * @公眾號(hao):北(bei)京(jing)宏(hong)哥(ge)(微信搜索,關注(zhu)宏(hong)哥(ge),提前(qian)解(jie)鎖(suo)更多測試(shi)干貨)
 * 
 * 《剛剛問世》系列(lie)初(chu)窺(kui)篇-Java+Playwright自(zi)動(dong)化測試(shi)-28- 操作單選和多選按鈕 - 中(zhong)篇(詳細教(jiao)程)
 *
 * 2025年01月(yue)26日
 */
public class Test_Radio {
    
    public static void main(String[] args) {
        try (Playwright playwright = Playwright.create()) {
              //1.使(shi)用chromium瀏覽(lan)(lan)器(qi),# 瀏覽(lan)(lan)器(qi)配置(zhi),設置(zhi)以(yi)GUI模(mo)式啟動Chrome瀏覽(lan)(lan)器(qi)(要查看瀏覽(lan)(lan)器(qi)UI,在啟動瀏覽(lan)(lan)器(qi)時傳(chuan)遞 headless=false 標志。您(nin)還可以(yi)使(shi)用 slowMo 來(lai)減慢執行速度。
              Browser browser = playwright.chromium().launch(new BrowserType.LaunchOptions().setHeadless(false).setSlowMo(3000));
              //2.創(chuang)建context
              BrowserContext context = browser.newContext();
              //創建page
              Page page = context.newPage();
              //3.瀏覽器訪問demo
              page.navigate("//www.jq22.com/demo/inputStyle201703310052");
              //4.定位(wei)所有單選按鈕
              List<Locator> radios = page.locator("[name='hot']").all();
              //遍歷(li)單(dan)選按鈕
              for(Locator radio:radios){
                 //判(pan)斷單選按鈕是(shi)否選中,不選中才(cai)點擊
                 if(!radio.isChecked()){
                     //點擊單選按鈕(niu)
                     radio.click(); 
                 }
              }
              System.out.println("Test Pass");
              //5.關閉page
              page.close();
              //6.關閉browser
              browser.close();
        }
    }
}

2.4運行代碼

1.運行代碼(ma),右(you)鍵Run As->Java Application,就可以看到控制(zhi)臺輸出(chu),如下(xia)圖所示:

2.運行代碼(ma)后電腦端的瀏覽器的動作(可(ke)以看到單(dan)選按(an)鈕(niu)挨個都被點(dian)到了)。如下(xia)圖(tu)所示:

3.項目實戰

3.1問卷調查

1.測試問卷調查的地址:

2.問卷頁面,如下圖所示:

3.2答題思路

自動化測試答(da)題思路,其實和(he)前(qian)邊單選多選的(de)遍歷差不多,具體(ti)思路如下:

1.首先(xian)找(zhao)到所有(you)單選(xuan)和多選(xuan)按鈕的共同(tong)點。

2.使用共(gong)同點(dian)來定位單選(xuan)和(he)多選(xuan)按鈕,將其放在容器(qi)中。

3.利用for循環將其(單(dan)選和多選按(an)鈕)從容器中一(yi)一(yi)遍歷出(chu)來(lai),并(bing)進(jin)行逐個click。

3.3代碼設計

根據答題(ti)中的遍歷思(si)路進(jin)行代碼設計(ji)如下圖所(suo)示:

3.4參考代碼

 

package com.bjhg.playwright;

import java.util.List;

import com.microsoft.playwright.Browser;
import com.microsoft.playwright.BrowserContext;
import com.microsoft.playwright.BrowserType;
import com.microsoft.playwright.Locator;
import com.microsoft.playwright.Page;
import com.microsoft.playwright.Playwright;

/**
 * @author 北(bei)京-宏哥
 * 
 * @公眾號:北(bei)京宏哥(微(wei)信搜(sou)索,關注宏哥,提前解鎖更多測(ce)試干貨)
 * 
 * 《剛剛問世(shi)》系(xi)列(lie)初窺(kui)篇(pian)-Java+Playwright自動化測(ce)試-28- 操作單(dan)選和多選按鈕 - 中(zhong)篇(pian)(詳細教程(cheng))
 *
 * 2025年01月29日(ri)
 */
public class Test_Radio {
    
    public static void main(String[] args) {
        try (Playwright playwright = Playwright.create()) {
              //1.使用chromium瀏(liu)覽器(qi),# 瀏(liu)覽器(qi)配置(zhi),設置(zhi)以GUI模式啟(qi)動Chrome瀏(liu)覽器(qi)(要查看瀏(liu)覽器(qi)UI,在(zai)啟(qi)動瀏(liu)覽器(qi)時傳遞 headless=false 標志。您還可(ke)以使用 slowMo 來減慢執行速度。
              Browser browser = playwright.chromium().launch(new BrowserType.LaunchOptions().setHeadless(false).setSlowMo(3000));
              //2.創建context
              BrowserContext context = browser.newContext();
              //創建page
              Page page = context.newPage();
              //3.瀏覽(lan)器(qi)訪問(wen)demo
              page.navigate("//www.sojump.com/m/2792226.aspx");
              Thread.sleep(1000);
              //4.定位所有單選按(an)鈕
              List<Locator> radios = page.locator("//*/div[@id='divQuestion']/fieldset/div/div/div/span/input/../a").all();
              //遍(bian)歷單選按鈕
              for(Locator radio:radios){
                //點擊(ji)單選(xuan)按鈕(niu)
                  radio.click();
              }
              System.out.println("Test Pass");
              //5.關閉(bi)page
              page.close();
              //6.關閉browser
              browser.close();
        } catch (InterruptedException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
    }
}

3.5運行代碼

1.運行(xing)代碼,右鍵(jian)Run As->Java Application,就可以(yi)看到控制(zhi)臺輸(shu)出(chu),如下圖所示:

2.運行代(dai)碼后電腦端的(de)瀏覽器的(de)動(dong)作(可(ke)以看到所有題目的(de)單選(xuan)和多選(xuan)全部點(dian)擊一遍)。如下(xia)圖所示:

4.小結

4.1畫蛇添足

實踐過程中,宏哥(ge)遇到一個報錯,原就是畫蛇添足,多寫一段代碼:判斷(duan)按鈕是否選中,結果(guo)導致報錯:

Exception in thread "main" com.microsoft.playwright.PlaywrightException: Error {
message='Error: Not a checkbox or radio button

意思是(shi):不(bu)是(shi)單選或(huo)者多(duo)選按鈕,宏哥F12查看果(guo)然不(bu)是(shi),是(shi)一(yi)個(ge)input標簽,如下圖所示:

 因此需要將那(nei)個判斷是否選(xuan)中的代碼取消之后,代碼成功運行。

今天其實(shi)就(jiu)是對(dui)前邊單選(xuan)和(he)多(duo)選(xuan)循環的(de)一次總結(jie)和(he)實(shi)踐。其他(ta)的(de)也(ye)(ye)沒(mei)有新的(de)東西。好了(le),今天時間也(ye)(ye)不早(zao)了(le),宏哥就(jiu)講解和(he)分(fen)享到這里,感謝您耐心的(de)閱讀,希望對(dui)您有所幫助。

posted @ 2025-10-29 15:35  北京-宏哥  閱讀(143)  評論(1)    收藏  舉報
停止精靈球