前言
一直想学习自动化测试,但是都没行动,业余时间学习零零碎碎并记录20210412
【Selenium核心技术篇】包含以下内容:
- Selenium实现元素定位(8种)
- Selenium WebDriver
- Selenium WebElement
- Selenium操作from表单
- Selenium操作checkbox和radiobutton
- Selenium操作下拉列表
- Selenium处理弹框
- Selenium三种等待方式
- Selenium等待条件
- Selenium鼠标和键盘事件
- Selenium执行JavaScript脚本
- Selenium屏幕截图
- Selenium之frame的切入和切出
form表单的流程
-
定位表单元素
-
输入测试值
-
判断表单元素属性
-
获得表单元素属性
-
提交表单进行验证
实操
1、自己新增一个html(本地页面),命名为:forms.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>本地页面</title>
</head>
<body>
<form action="javascript:alert('hello')">
Usename:<input type="text" name="username" id="username"><br>
Password:<input type="password" name="pwd" id="pwd"><br>
<input type="submit" value="submit" id="submit">
</form>
</body>
</html>
2、接着,实现表单的操作
from selenium import webdriver
from time import sleep
import os
class testcase(object):
def __init__(self):
self.driver = webdriver.Chrome()
# 获取当前文件绝对路径地址
patch = os.path.dirname(os.path.abspath(__file__))
print(patch)
# 拼接地址
file_patch = 'file:///' + patch + '/forms.html'
print(file_patch)
self.driver.get(file_patch)
def test_login(self):
username = self.driver.find_element_by_id('username')
username.send_keys('admin')
pwd = self.driver.find_element_by_id('pwd')
pwd.send_keys('123')
# 获取值
print(username.get_attribute('value'))
print(pwd.get_attribute('value'))
sleep(2)
self.driver.find_element_by_id('submit').click()
self.driver.switch_to.alert.accept() # 把弹窗关掉
# 清空输入数据
pwd.clear()
username.clear()
self.driver.quit()
if __name__ == '__main__':
case = testcase()
case.test_login()