Selenium
是一款浏览器自动化工具(使用代码控制浏览器,执行浏览器操作)
要结合测试工具(unittest/pytest)才能算是web自动化测试
安装selenium
-安装浏览器(谷歌,火狐)
-下载webdriver驱动 ChromeDriver Mirror
驱动可以放在python根目录
也可以放在项目的根目录,获得浏览器的时候要把驱动路径加上
-语言绑定包,pip install selenium
Selenium浏览器操作
-得到浏览器
#得到一个浏览器
#executable_path表示浏览器驱动的路径
#如果不传浏览器驱动路径,就要把chromedriver.exe,放到系统的环境变量里,python的根目录下
browser = webdriver.Chrome()
每次得到浏览器之后,测试完成都要关闭浏览器,不然会占用内存
可以运用witn语句每次执行完成之后会自动关闭浏览器,以防忘记
from selenium import webdriver
with webdriver.Chrome() as browser:
browser.get("http://www.baidu.com")
print(browser.page_source)
-访问url地址
#访问一个url地址
browser.get("https://www.baidu.com")
-获取网页标题
#获取网页标题
print(browser.title)
-获取当前url地址,观察是否改变
print(browser.current_url)
-获取源代码
print(browser.page_source)
-访问另一个url地址(从当前页面跳转)
#访问另一个url地址
browser.get("https://blog.csdn.net/conlin233?spm=1000.2115.3001.5343")
-退回/前进
#退回
browser.back()
#前进
browser.forward()
-刷新
#刷新
browser.refresh()
-最大化/最小化
#最小化
browser.minimize_window()
#最大化
browser.maximize_window()
-获取当前窗口名称
browser.current_window_handle
-获取所有窗口
windows = browser.window_handles # 获取窗口
获取到的结果,是一个列表,包含所有窗口的名称
-切换到最新的标签
根据窗口列表的索引切换到相应窗口
browser.switch_to.window(windows[-1])#切换到当前窗口
-关闭一个网页标签
#关闭一个网页的标签
browser.close()
-关闭浏览器(每次测试完成都要关闭)
#关闭浏览器
browser.quit()
selenium网页操作
定位元素find_element()
页面按F12,点击按钮
鼠标移动到想要获取的元素
获取元素的id或者name
定位输入框
根据元素所给的变量和值用变量接收元素
#找到输入框(元素定位)
el = browser.find_element("id","kw")
在输入框输入内容
#输入框的操作
el.send_keys("广州天气")
定位按钮元素
#找到搜索按钮
search_btn = browser.find_element("id","su")
点击按钮
#点击搜索按钮
search_btn.click()
web测试步骤
-打开网页
-点点点,输入框输入
-断言
-生成测试报告
from selenium import webdriver
import time
class TestDemo:
def test_01(self):
with webdriver.Chrome() as browser:
browser.get("http://www.baidu.com")
print(browser.page_source)
#找到输入框(元素定位)
el = browser.find_element("id","kw")
#输入框的操作
el.send_keys("广州天气")
#找到搜索按钮
search_btn = browser.find_element("id","su")
#点击搜索按钮
search_btn.click()
#让程序休息3秒
time.sleep(3)