首页 > 其他分享 >软件测试|web自动化测试神器playwright教程(十四)

软件测试|web自动化测试神器playwright教程(十四)

时间:2023-08-02 17:24:53浏览次数:35  
标签:web playwright option get label page select 软件测试

前言

我们在日常工作中,经常会遇到下面的情况,我们需要在一个下拉框中选择一个选项:

在这里插入图片描述
在使用selenium定位的过程中,我们可以选择使用selenium的Select类,有了playwright,我们的操作会变得更简单一些。

playwright也提供了select的方法进行操作。

select 用法

使用locator.select_option()选择元素中的一个或多个选项。我们可以指定选项value,或label选择并且可以选择多个选项。示例如下:

# Single selection matching the value
page.get_by_label('Choose a color').select_option('blue')

# Single selection matching the label
page.get_by_label('Choose a color').select_option(label='Blue')

# Multiple selected items
page.get_by_label('Choose multiple colors').select_option(['red', 'green', 'blue'])

select 元素示例:

<select multiple>
  <option value="toyota">Japan</div>
  <option value="volkswagen">Germany</div>
  <option value="byd">China</div>
</select>

代码如下:

# single selection matching the value or label
element.select_option("toyota")
# single selection matching the label
element.select_option(label="Germany")
# multiple selection for toyota, volkswagen and second option
element.select_option(value=["toyota", "volkswagen", "byd"])

使用

从option 中选一个

在这里插入图片描述

示例代码:

  1. 方法一,先定位select元素,再定位选项
  • 根据选项名称定位
select = page.get_by_label("s2Id")
select.select_option("o1")
  • 根据index 索引定位
select = page.get_by_label("s2Id")
select.select_option(index=1)
  • 根据label 标签定位

页面如下:

<select name="test" id="t" onchange="change(this)" >
    <option value="1" label="第一" selected="selected">first</option>
    <option value="2" label="第二">second</option>
    <option value="3" label="第三">third</option>
    <option value="4" label="第四">forth</option>
</select>

代码如下:

select = page.get_by_label("选择:")
select.select_option(label="forth")

总结

本文主要介绍了playwright对下拉框的处理,playwright的下拉框处理相对于selenium来说,更加方便,不需要再额外导入其他函数即可完成,定位也非常简单。

获取更多技术资料,请点击!

标签:web,playwright,option,get,label,page,select,软件测试
From: https://www.cnblogs.com/hogwarts/p/17601232.html

相关文章

  • 软件测试|web自动化测试神器playwright教程(十五)
    前言我们在日常工作中,会经常遇到弹出警告框的问题,弹框无法绕过,必须处理才可以执行后续的测试,所以弹框处理也是我们必须掌握的一个知识。弹框通常分为3种,分别为alert,confirm,promot。alert弹框:只有信息和确定按键confirm弹框:在alert弹窗基础上增加了取消按钮prompt弹框:在confi......
  • 软件测试|web自动化测试神器playwright教程(十六)
    前言在我们的日常工作中,经常会遇到文件下载的事件,如下图:我们可以看到在下载文件时会弹出一个Windows对话框,我们知道,selenium只能操作web页面,无法操作Windows对话框,使用selenium时,我们可以借助autoit等工具实现该功能。playwright则可以不借助其他工具实现文件的下载。文件下......
  • 小程序中web-view网页中打开或返回小程序页面
    小程序中web-view网页中使用JSSDK提供的接口打开或返回小程序页面1、引入JSSDK文件2、判断是否在小程序环境let_this=this;wx.miniProgram.getEnv(function(res){if(res.miniprogram){_this.miniprogram=true;}})3、根据是否小程序环境,执行操作if(th......
  • 软件测试|教你如何离线安装第三方库
    前言在日常工作生活中,我们有时需要在无法联网的设备中安装Python第三方库,在联网的情况下,我们安装第三方库只需要一条pip命令即可,运行命令之后,会自动开始下载;当我们在无法联网的情况下,我们就需要先行下载好第三方库,传输到未联网的电脑,并使用命令行安装。本文我们以安装requests库......
  • 软件测试|pip安装第三方库报代理错误,怎么解决
    前言pip是我们使用python时最常用的一个工具,我们安装卸载更新Python的第三方库都是依靠这个命令的,即使我们是使用pycharm来管理我们的第三方库,本质上还是通过pip来实现第三方库的安装卸载更新的。因此,对于一些在使用pip时出现的报错,进行一些经验的总结就很有必要了。安装第三方......
  • The Report Viewer Web Control HTTP Handler has not been registered in the applic
     system.webServer内加<handlers><addname="ReportViewerWebControlHandler"preCondition="integratedMode"verb="*"path="Reserved.ReportViewerWebControl.axd"type="Microsoft.Reporting.WebForms.Htt......
  • WebApi接口的调用和传参
    publicCommon.mdlResultModel<mdlGetHistoryData>GetHistoryDataByCondition(intpDeviceId,intpPageIndex,intpPageSize,stringpStartTime,stringpEndTime)       {           Common.mdlResultModel<mdlGetHistoryData>objResult=newCommon.m......
  • 软件测试报告的作用在哪?
    软件测试报告是测试工作的重要成果之一,它是测试人员向项目团队和相关利益相关者传递测试结果和评估软件质量的文档。软件测试报告具有以下几个重要作用:1、向项目团队和管理层提供测试结果软件测试报告会详细汇报测试的执行情况、测试用例覆盖的范围、发现的缺陷和问题等信......
  • web渗透测试(10):文件包含
    许多应用程序中,开发人员需要包含文件来加载类或在多个网页之间共享一些模板。 文件包含漏洞来自缺乏过滤,当用户控制的参数在调用包含函数(例如,PHP中的require,require_once,include或include_once)中用作文件名的一部分时。如果对这些方法之一的调用容易受到攻击,则攻击者将能够操......
  • WebDAV之π-Disk派盘 + Mountain Duck
    MountainDuck是来自国外的一款方便实用,功能强大的云存储空间本地管理工具。它可以帮助我们在windows电脑上将远程FTP空间、WebDAV、Swift、S3、Azure、Rackspace、GoogleCloud等云存储服务转入本地进行管理,使用任何应用程序即可打开远程文件,并在本地盘上工作。你可以将云目录......