Selenium测试form表单之checkbox和radio
一、定义form表单
用到的元素:checkbox和radiobutton
下图定义了一个选择爱好和选择性别的form表单,区域1用到的表单元素是checkbox(复选框),区域2用到的表单元素是radiobutton

点击查看代码
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<form action="javascript:alert('test')">
swimming:<input type="checkbox" name="swimming" value="swimming"><br>
reading:<input type="checkbox" name="reading" value="reading"><br>
<hr>
gender<br>
<input type="radio" name="gender" value="male" text="male"><label>male</label><br>
<input type="radio" name="gender" value="female" text="female"><label>female</label><br>
<input type="submit" name="login" value="login">
</form>
</body>
</html>
二、测试checkbox
用例1:选中checkbox选项
预期结果1:正常选中
swimming=self.driver.find_element(By.NAME, 'swimming')#定位元素
if not swimming.is_selected():
swimming.click() #选中swimming
reading=self.driver.find_element(By.NAME, 'reading')#定位元素
if not reading.is_selected():
reading.click() #选中reading
sleep(10)

用例2:反选checkbox选项
结果2:不选中选项
swimming.click()
sleep(2)

三、测试radiobutton
用例1:选中男性
结果1:正常选中
ls=self.driver.find_elements(By.NAME, 'gender')
#find_elements()方法返回一个WebElement对象列表
ls[0].click()
sleep(2)

用例2:选中女性
结果2:正常选中
ls=self.driver.find_elements(By.NAME, 'gender')
ls[1].click()
sleep(2)

四、代码
点击查看代码
from selenium import webdriver
from time import sleep
import os
from selenium.webdriver.common.by import By
class TestCase:
def __init__(self):
self.driver = webdriver.Edge()
path = os.path.dirname(os.path.abspath(__file__)) # 获取当前路径的父目录
file_path = 'file:///' + path + '/form1.html' # 获取form表单完整路径
self.driver.get(file_path) # 加载form表单
def test_checkbox(self):
swimming=self.driver.find_element(By.NAME, 'swimming')
if not swimming.is_selected():
swimming.click()# 选中swimming
reading=self.driver.find_element(By.NAME, 'reading')
if not reading.is_selected():
reading.click() # 选中reading
sleep(2)
swimming.click()
sleep(2)
self.driver.quit()
def test_radio(self):
ls=self.driver.find_elements(By.NAME, 'gender')
#ls[0].click()
ls[1].click()
sleep(2)
self.driver.quit()
if __name__=="__main__":
case = TestCase()
#case.test_checkbox()
case.test_radio()
Selenium测试form表单之checkbox和radio的更多相关文章
- 表单:checkbox、radio样式(用图片换掉默认样式)
checkbox.radio样式(用图片换掉默认样式) <!doctype html> <html> <head> <meta charset="u ...
- layui的form表单的checkbox全选与全不选问题
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <m ...
- [原创]java WEB学习笔记62:Struts2学习之路--表单标签:form,表单标签的属性,textfield, password, hidden,submit ,textarea ,checkbox ,list, listKey 和 listValue 属性,select ,optiongroup ,checkboxlist
本博客的目的:①总结自己的学习过程,相当于学习笔记 ②将自己的经验分享给大家,相互学习,互相交流,不可商用 内容难免出现问题,欢迎指正,交流,探讨,可以留言,也可以通过以下方式联系. 本人互联网技术爱 ...
- Form表单之复选框checkbox操作
input复选(checkbox): <label>input复选1组:</label> <input type="checkbox" name=&q ...
- Checkbox框全选操作,form表单提交与jquery ajax提交两种处理方式
//1.jquery ajax<script type="text/javascript"> $(function(){ var basePath = $(" ...
- qq邮箱问卷,测试不支持form表单
想做个类似苹果调查问卷的: 找到qq邮箱的代码编辑器: 写好我们的网页(h5) <!DOCTYPE html> <html lang="en"> <h ...
- react引用antd的form表单
引用form是第三方插件ant插件,官网网址:https://ant.design/.用到的antd的版本是@2.0.1.form(https://ant.design/components/form ...
- form表单中控件较多,加载完成后切换页面都很慢的解决方法
form表单中控件较多,加载完成后点击都很慢,为什么?我一页面中form表单里面上百个控件(如input.select.radio.checkbox等),还有一些js脚本,加载速度还可以,都能全部显示 ...
- jquery获取form表单内容以及绑定数据到form表单
在日常开发的过程中,难免会用到form表单,我们需要获取表单的数据保存到数据库,或者拿到后台的一串json数据,要将数据绑定到form表单上,这里我写了一个基于jquery的,formHelp插件,使 ...
- Ajax提交form表单内容和文件(jQuery.form.js)
jQuery官网是这样介绍form.js A simple way to AJAX-ify any form on your page; with file upload and progress s ...
随机推荐
- 电脑打不开CHM格式文件解决办法
如图所示 比如说jdk1.8的api 双击打开后,这个样子 就ok了
- Shell 语言中的if条件
Shell 语言中的if条件 一.if的基本语法:if [ command ];then 符合该条件执行的语句elif [ command ];then 符合该条件执行的语句else 符合该条件执行的 ...
- shell编程入门-适合小白
一.变量的使用 1. 变量命名 定义变量时,变量名不加美元符号($,PHP语言中变量需要),如: your_name="yikoulinux" 注意,变量名和等号之间不能有空格,这 ...
- linux驱动、ARM学习环境搭建
安装包也可以关注公众号:一口Linux 后台回复 :ubuntu 0.环境说明 通常安装1个可以编译ARM汇编代码的linux环境,需要安装以下3个软件: vmware:在该软件中可以安装其他操作系统 ...
- MySQL中的char与varchar
MySQL中的char与varchar char类型为固定长度的字符串 varchar类型是长度可变的字符串 char为固定长度的字符串意思是当我们设置一个字段类型为char时,指定char(100) ...
- JAVAEE——navicat安装
Navicat Premium 15激活步骤 准备 Navicat Premium 15.Navicat Premium 15注册机 用到的都放在这里了: 链接:https://pan.baidu.c ...
- SQL注入演示
SQL注入演示 创建一个简易的登录系统/** tb_user 用户表 * 用户登录系统(需在数据库中创建tb_user表 ) */ @Test public void testUserLogin() ...
- 了解 Flutter 3.16 功能更新
作者 / Kevin Chisholm 我们在季度 Flutter 稳定版发布会上带来了 Flutter 3.16,此版本包含诸多更新: Material 3 成为新的默认主题.为 Android 带 ...
- manim边学边做--空心多边形
空心的多边形Cutout是一种比较特殊的多边形,主要用于解决与形状.大小.位置等相关的数学问题. Cutout多边形可以定义物体表面的空洞或凹陷部分,从而更准确地模拟现实世界中的复杂形状. 比如,在P ...
- 如何创建一个Java游戏客户端
创建一个完整的Java游戏客户端示例是一个相对复杂的任务,因为它通常涉及图形用户界面(GUI).事件处理.游戏逻辑等多个方面.为了简化,我将提供一个基于Java Swing的简单游戏客户端示例:一个简 ...