前言
一直想学习自动化测试,但是都没行动,业余时间学习零零碎碎并记录20210413
【Selenium核心技术篇】包含以下内容:
- Selenium实现元素定位(8种)
- Selenium WebDriver
- Selenium WebElement
- Selenium操作from表单
- Selenium操作checkbox和radiobutton
- Selenium操作下拉列表
- Selenium处理弹框
- Selenium三种等待方式
- Selenium等待条件
- Selenium鼠标和键盘事件
- Selenium执行JavaScript脚本
- Selenium屏幕截图
- Selenium之frame的切入和切出
实操:
1、自己新增一个html(本地页面),命名为:forms2.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<form action="javascript:alert('test_from表单操作checkbox和radiobutton')">
测试from表单操作checkbox和radiobutton<br>
跑步:<input type="checkbox" name="running" value="running"><br>
游泳:<input type="checkbox" name="swimming" value="swimming"><br>
<!--<hr>分界线-->
<hr>
性别:<br>
男:<input type="radio" name="gender" value="male"><br>
女:<input type="radio" name="gender" value="female"><br>
<input type="submit" value="login">
</form>
</body>
</html>
2、接着,实现form表单操作checkbox和radiobutton
from selenium import webdriver
from time import sleep
import os
class testcase(object):
def __init__(self):
self.driver = webdriver.Chrome()
# 获取当前文件绝对路径地址
path = os.path.dirname(os.path.abspath(__file__))
# print(path)
# 拼接地址
file_path = 'file:///'+ path +'/forms2.html'
self.driver.get(file_path)
def test_checkbox(self):
self.driver.find_element_by_name('running').click()
self.driver.find_element_by_name('swimming').click()
sleep(3)
self.driver.quit()
# 跟test_checkbox方法效果一样,后面再加个反选,看看效果
def test_checkbox1(self):
running = self.driver.find_element_by_name('running')
if not running.is_selected():
running.click()
swimming = self.driver.find_element_by_name('swimming')
if not swimming.is_selected():
swimming.click()
sleep(3)
# 再次点击相当于反选
running.click()
sleep(3)
self.driver.quit()
def test_radiobutton(self):
# find_elements_by_name这里elements带了s相当于找出所有gender的元素
radio = self.driver.find_elements_by_name('gender')
# 可用下标表示对应的第几个元素
radio[0].click()
sleep(3)
self.driver.quit()
if __name__ == '__main__':
case = testcase()
# case.test_checkbox()
# case.test_checkbox1()
case.test_radiobutton()