当前位置: 首页 > news >正文

《刚刚问世》系列初窥篇-Java+Playwright自动化测试-28- 操作单选和多选按钮 - 中篇(详细教程) - 北京

1.简介

上一篇中宏哥讲解和介绍的单选框知识和理论有点多,多选按钮基本没有介绍。要不时由于时间的关系,估计宏哥还得侃侃而谈,所以宏哥今天决定今天讲解和分享复选框(多选按钮)的相关知识。他哥俩宏哥不偏不向,都单独用一篇文章的篇幅进行讲解和介绍。

2.什么是单选框、复选框?

  单选按钮一般叫raido button,就像我们在电子版的单选答题过程一样,单选只能点击一次,如果点击其他的单选,之前单选被选中状态就会变成未选中。单选按钮的点击,一样是使用click方法。多选按钮,就是复选框,一般叫checkbox,就像我们在电子版的多选答题过程一样,可以选择多个选项,多选按钮的点击,同样是使用click方法。简单地说,复选框可以允许你选择多个设置,而单选框则允许你选择一个设置。如下图所示:

3.被测页面html源代码

3.1 radio.html

1.准备测试练习radio.html,如下:

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>测试单选</title><style type="text/css">.button1 {background-color: #f44336; border: none;color: white;padding: 15px 32px;text-align: center;text-decoration: none;display: inline-block;font-size: 28px;margin: 20px 300px 50px 300px;text-decoration:none;color: white;}#myAnchor{text-decoration:none;color: white;}#hg{margin: 20px 300px 50px 300px;}</style>
</head>
<body><button class="button1"><a id="myAnchor" href="https://www.cnblogs.com/du-hong/">北京-宏哥</a></button></br><div id="hg"><div><h3>复选框 checkbox</h3> 请选择喜欢的打野英雄:<br><label><input name="checkbox1" type="checkbox" value="李白"/>李白 </label><br><label><input name="checkbox2" type="checkbox" value="韩信"/>韩信 </label><br><label><input name="checkbox3" type="checkbox" value="公孙离" checked="checked"/>公孙离 </label><br><label><input name="checkbox4" type="checkbox" value="露娜"/>露娜 </label><br></div><div><h3>单选框 radio</h3> 选择喜欢的打野英雄:<br><label><input name="radio" type="radio" value="0" checked="checked"/>李白 </label><br><label><input name="radio" type="radio" value="1"/>韩信 </label><br><label><input name="radio" type="radio" value="2"/>露娜 </label><br><label><input name="radio" type="radio" value="3"/>孙尚香 </label><br></div></div>
</body>
</html>

2.页面效果,如下图所示:

上图所示的就是我们最常见的radio单选框和checkbox多选框,playwright提供了一些处理单选框以及多选框的方法。宏哥接下来就一一介绍多选按钮操作。

4.PlayWright选择操作

playwright提供了一些处理单选框以及多选框的方法,如下:

  • locator.click(); 点击操作
  • locator.check(); 选中
  • locator.uncheck(); 不选中
  • locator.setChecked() ;设置选中状态
  • locator.isChecked(); 判断是否被选中

5.复选框操作

checkbox 复选框跟 radio 操作的区别在于,如果已经被选择了,再点击会被取消选中,所以不会有前面的报错(宏哥在上一篇小结中提到的报错)。以我们的html文件为例,如果李白已经被选中了再点击李白会改变状态变成不选中了,我们只点击其他的按钮不会改变其状态。

5.1click()点击操作

宏哥这里演示一下如何点击“韩信”,其实是很简单的,只需要定位到然后点击即可。

5.1.1代码设计

5.1.2参考代码
package com.bjhg.playwright;import com.microsoft.playwright.Browser;
import com.microsoft.playwright.BrowserContext;
import com.microsoft.playwright.BrowserType;
import com.microsoft.playwright.Page;
import com.microsoft.playwright.Playwright;/*** @author 北京-宏哥* * @公众号:北京宏哥(微信搜索,关注宏哥,提前解锁更多测试干货)* * 《刚刚问世》系列初窥篇-Java+Playwright自动化测试-28- 操作单选和多选按钮 - 中篇(详细教程)** 2025年01月26日*/
public class Test_Radio {public static void main(String[] args) {try (Playwright playwright = Playwright.create()) {//1.使用chromium浏览器,# 浏览器配置,设置以GUI模式启动Chrome浏览器(要查看浏览器UI,在启动浏览器时传递 headless=false 标志。您还可以使用 slowMo 来减慢执行速度。Browser browser = playwright.chromium().launch(new BrowserType.LaunchOptions().setHeadless(false).setSlowMo(3000));//2.创建contextBrowserContext context = browser.newContext();//创建pagePage page = context.newPage();//3.浏览器访问demopage.navigate("file:///C:/Users/duhon/Desktop/radio.html");//4.定位page.locator("[value='韩信']").click();System.out.println("Test Pass");//5.关闭page
              page.close();//6.关闭browser
              browser.close();}}
}
5.1.3运行代码

1.运行代码,右键Run As->Java Application,就可以看到控制台输出,如下图所示:

2.运行代码后电脑端的浏览器的动作(可以看到复选框默认选中“公孙离”,之后会点击选中“韩信”)。如下图所示:

5.2is_check() 检查操作

这个方法一般用于断言,看某个单选按钮是否被选中,选中是“true”,未选中是“false”。确保复选框或单选元素已选中。返回元素是否已选中。如果元素不是复选框或单选输入,则抛出异常。

5.2.1代码设计

5.2.2参考代码
package com.bjhg.playwright;import com.microsoft.playwright.Browser;
import com.microsoft.playwright.BrowserContext;
import com.microsoft.playwright.BrowserType;
import com.microsoft.playwright.Page;
import com.microsoft.playwright.Playwright;/*** @author 北京-宏哥* * @公众号:北京宏哥(微信搜索,关注宏哥,提前解锁更多测试干货)* * 《刚刚问世》系列初窥篇-Java+Playwright自动化测试-28- 操作单选和多选按钮 - 中篇(详细教程)** 2025年01月26日*/
public class Test_Radio {public static void main(String[] args) {try (Playwright playwright = Playwright.create()) {//1.使用chromium浏览器,# 浏览器配置,设置以GUI模式启动Chrome浏览器(要查看浏览器UI,在启动浏览器时传递 headless=false 标志。您还可以使用 slowMo 来减慢执行速度。Browser browser = playwright.chromium().launch(new BrowserType.LaunchOptions().setHeadless(false).setSlowMo(3000));//2.创建contextBrowserContext context = browser.newContext();//创建pagePage page = context.newPage();//3.浏览器访问demopage.navigate("file:///C:/Users/duhon/Desktop/radio.html");//4.定位复选框// 判断李白是否被选中(html默认设置是公孙离是选中的,而李白是没有选中的)boolean status1 = page.locator("[value='李白']").isChecked();System.out.println("李白是否被选中:"+status1);// 判断公孙离boolean status2 = page.locator("[value='公孙离']").isChecked();System.out.println("孙尚香是否被选中:"+status2);System.out.println("Test Pass");//5.关闭page
              page.close();//6.关闭browser
              browser.close();}}
}
5.2.3运行代码

1.运行代码,右键Run As->Java Application,就可以看到控制台输出,如下图所示:

2.运行代码后电脑端的浏览器的动作(可以看到复选框默认选中“公孙离”,“李白”没有选中,所以控制台李白false,公孙离true)。如下图所示:

5.3check()和uncheck()操作

宏哥感觉check()和click的用法差不多。确保复选框或单选元素已选中。

5.3.1代码设计

5.3.2参考代码
package com.bjhg.playwright;import com.microsoft.playwright.Browser;
import com.microsoft.playwright.BrowserContext;
import com.microsoft.playwright.BrowserType;
import com.microsoft.playwright.Page;
import com.microsoft.playwright.Playwright;/*** @author 北京-宏哥* * @公众号:北京宏哥(微信搜索,关注宏哥,提前解锁更多测试干货)* * 《刚刚问世》系列初窥篇-Java+Playwright自动化测试-28- 操作单选和多选按钮 - 中篇(详细教程)** 2025年01月26日*/
public class Test_Radio {public static void main(String[] args) {try (Playwright playwright = Playwright.create()) {//1.使用chromium浏览器,# 浏览器配置,设置以GUI模式启动Chrome浏览器(要查看浏览器UI,在启动浏览器时传递 headless=false 标志。您还可以使用 slowMo 来减慢执行速度。Browser browser = playwright.chromium().launch(new BrowserType.LaunchOptions().setHeadless(false).setSlowMo(3000));//2.创建contextBrowserContext context = browser.newContext();//创建pagePage page = context.newPage();//3.浏览器访问demopage.navigate("file:///C:/Users/duhon/Desktop/radio.html");//4.定位复选框// 然后选中check李白page.locator("[value='李白']").check();System.out.println("李白是否被选中:"+page.locator("[value='李白']").isChecked());//同理:公孙离默认选中,uncheck公孙离page.locator("[value='公孙离']").uncheck();System.out.println("公孙离是否被选中:"+page.locator("[value='公孙离']").isChecked());System.out.println("Test Pass");//5.关闭page
              page.close();//6.关闭browser
              browser.close();}}
}
5.3.3运行代码

1.运行代码,右键Run As->Java Application,就可以看到控制台输出,如下图所示:

2.运行代码后电脑端的浏览器的动作(选中李白-true,取消选中公孙离-false)。如下图所示:

5.4setChecked()操作

setChecked()需传checked 参数,参数为布尔值。设置复选框或单选元素的状态。

5.4.1代码设计

5.4.2参考代码
package com.bjhg.playwright;import com.microsoft.playwright.Browser;
import com.microsoft.playwright.BrowserContext;
import com.microsoft.playwright.BrowserType;
import com.microsoft.playwright.Page;
import com.microsoft.playwright.Playwright;/*** @author 北京-宏哥* * @公众号:北京宏哥(微信搜索,关注宏哥,提前解锁更多测试干货)* * 《刚刚问世》系列初窥篇-Java+Playwright自动化测试-28- 操作单选和多选按钮 - 中篇(详细教程)** 2025年01月26日*/
public class Test_Radio {public static void main(String[] args) {try (Playwright playwright = Playwright.create()) {//1.使用chromium浏览器,# 浏览器配置,设置以GUI模式启动Chrome浏览器(要查看浏览器UI,在启动浏览器时传递 headless=false 标志。您还可以使用 slowMo 来减慢执行速度。Browser browser = playwright.chromium().launch(new BrowserType.LaunchOptions().setHeadless(false).setSlowMo(3000));//2.创建contextBrowserContext context = browser.newContext();//创建pagePage page = context.newPage();//3.浏览器访问demopage.navigate("file:///C:/Users/duhon/Desktop/radio.html");//4.定位复选框// 然后选中check李白page.locator("[value='李白']").setChecked(true);System.out.println("李白是否被选中:"+page.locator("[value='李白']").isChecked());//同理:公孙离默认选中,uncheck公孙离page.locator("[value='公孙离']").setChecked(false);System.out.println("公孙离是否被选中:"+page.locator("[value='公孙离']").isChecked());System.out.println("Test Pass");//5.关闭page
              page.close();//6.关闭browser
              browser.close();}}
}
5.4.3运行代码

1.运行代码,右键Run As->Java Application,就可以看到控制台输出,如下图所示:

2.运行代码后电脑端的浏览器的动作(选中李白-true,取消选中公孙离-false)。如下图所示:

5.5page对象直接调用

5.5.1用法如下
page.click("[value='1']");
page.check("[value='1']");
page.setChecked("[value='1']", true);
5.5.2代码设计

5.5.3参考代码
package com.bjhg.playwright;import com.microsoft.playwright.Browser;
import com.microsoft.playwright.BrowserContext;
import com.microsoft.playwright.BrowserType;
import com.microsoft.playwright.Page;
import com.microsoft.playwright.Playwright;/*** @author 北京-宏哥* * @公众号:北京宏哥(微信搜索,关注宏哥,提前解锁更多测试干货)* * 《刚刚问世》系列初窥篇-Java+Playwright自动化测试-28- 操作单选和多选按钮 - 中篇(详细教程)** 2025年01月26日*/
public class Test_Radio {public static void main(String[] args) {try (Playwright playwright = Playwright.create()) {//1.使用chromium浏览器,# 浏览器配置,设置以GUI模式启动Chrome浏览器(要查看浏览器UI,在启动浏览器时传递 headless=false 标志。您还可以使用 slowMo 来减慢执行速度。Browser browser = playwright.chromium().launch(new BrowserType.LaunchOptions().setHeadless(false).setSlowMo(3000));//2.创建contextBrowserContext context = browser.newContext();//创建pagePage page = context.newPage();//3.浏览器访问demopage.navigate("file:///C:/Users/duhon/Desktop/radio.html");//4.定位复选框,选中所有复选框page.click("[value='韩信']");System.out.println("韩信是否被选中:"+page.locator("[value='韩信']").isChecked());page.check("[value='李白']");System.out.println("李白是否被选中:"+page.locator("[value='李白']").isChecked());page.setChecked("[value='露娜']", true);System.out.println("露娜是否被选中:"+page.locator("[value='露娜']").isChecked());System.out.println("Test Pass");//5.关闭page
              page.close();//6.关闭browser
              browser.close();}}
}
5.5.4运行代码

1.运行代码,右键Run As->Java Application,就可以看到控制台输出,如下图所示:

2.运行代码后电脑端的浏览器的动作(选中所有复选框)。如下图所示:

6.小结

 有没有感觉到,单选框和复选框在Playwright中使用差不多,除了宏哥前一篇中提到的报错,这一个唯一的区别,其他大致一样。好了,今天时间也不早了,宏哥就讲解和分享到这里,感谢您耐心的阅读,希望对您有所帮助。

http://www.sczhlp.com/news/39764/

相关文章:

  • 湛江专业做网站线下推广渠道有哪些方式
  • 展览网站制作seo研究中心超逸seo
  • 云南微网站搭建郑州网站建设用户
  • 做网站怎么赚钱 111百度用户服务中心电话
  • 范例网站怎么做seo关键词优化排名
  • 网站主机方案网络搜索引擎
  • 郑州网站建设兼职新闻发布最新新闻
  • 北京设计企业网站东莞网络公司网络推广
  • node js 网站开发今天新疆新闻头条
  • 酒店网站建设方案ppt深圳网络营销渠道
  • 网站建设方案书b2bseo优化多少钱
  • 视频图像传输卡设计原理图:220-基于Kintex-7 XC7K160T 的CameraLink转四路光纤数据转发卡(Full Camera Link图像转万兆以太网适配器 )
  • 医院数据安全传输,从选对文件摆渡系统开始!
  • win11系统激活支持工作站专业版等
  • 【客户案例】DHTMLX Scheduler.NET 助力物流服务企业实现智能化排程管理
  • 【Springer出版】第二届环境保护与污染控制国际学术会议(EPPC 2025)
  • wordpress输出菜单全网关键词优化公司哪家好
  • 短链接转换网站必应搜索引擎国际版
  • 优秀的网页网站设计信息流优化师是干什么的
  • wordpress怎么做站群南宁百度网站推广
  • 电脑上做任务赚钱的网站怎样优化网站
  • 阳江本地网络平台郑州seo推广外包
  • 敬请期待英文怎么写网站页面优化内容包括哪些
  • 鄂州做网站海外营销
  • 青岛网站建设推广优化杭州优化外包
  • 扬州工程建设信息网站百度产品大全入口
  • 石家庄网站定制模板建站百度账户托管运营
  • 那个网站做稻草交易广东疫情最新数据
  • 泉州app网站开发网站建设制作教程
  • 奶茶微网站建设网站定制的公司