一、Selenium入门操作
Selenium是一款免费的自动化测试工具,它能模拟用户真实操作,并且可以获取到浏览器的渲染结果。因此,Selenium被广泛用于Web应用程序的测试和自动化。
在进行Selenium入门操作之前,首先需要安装Selenium。Selenium有多种支持语言,如Java、Python、Ruby等。 以Python为例,可以使用pip安装:
pip install selenium
接着,需要下载相应的浏览器驱动程序。你可以访问Selenium官方网站,查看支持的浏览器和驱动程序的下载地址。
以下是Selenium的基本框架:
from selenium import webdriver
# 加载浏览器驱动
driver = webdriver.Chrome('path/to/chromedriver')
# 访问网页
driver.get('https://www.baidu.com')
# 执行操作
# ...
# 退出浏览器
driver.quit()
二、Selenium入门操作访问百度页面
以访问百度页面为例,以下是Selenium的完整代码示例:
from selenium import webdriver
# 加载浏览器驱动
driver = webdriver.Chrome('path/to/chromedriver')
# 访问网页
driver.get('https://www.baidu.com')
# 获取搜索框并输入查询内容
search_box = driver.find_element_by_name('wd')
search_box.send_keys('Selenium')
# 获取提交按钮并点击
submit_button = driver.find_element_by_id('su')
submit_button.click()
# 退出浏览器
driver.quit()
三、Selenium参数化
在测试中,经常需要对同一个功能进行多组不同的测试。为了避免手动修改测试数据,可以使用参数化功能。Selenium支持使用数据驱动模式,即通过不同的参数执行同一个测试用例。
使用Python的unittest框架进行测试,可以使用@parameterized装饰器实现参数化:
import unittest
from parameterized import parameterized
from selenium import webdriver
class BaiduSearchTest(unittest.TestCase):
@parameterized.expand([
('Selenium', ),
('Python', ),
('Java', ),
])
def test_search(self, keyword):
driver = webdriver.Chrome('path/to/chromedriver')
driver.get('https://www.baidu.com')
search_box = driver.find_element_by_name('wd')
search_box.send_keys(keyword)
submit_button = driver.find_element_by_id('su')
submit_button.click()
self.assertIn(keyword, driver.page_source)
driver.quit()
if __name__ == '__main__':
unittest.main()
四、Selenium关闭窗口
在自动化测试过程中,可能需要关闭某个窗口。可以使用Selenium提供的close()或quit()方法,close()关闭当前窗口,quit()关闭所有窗口。
from selenium import webdriver
# 加载浏览器驱动
driver = webdriver.Chrome('path/to/chromedriver')
# 访问网页
driver.get('https://www.baidu.com')
# 关闭当前窗口
driver.close()
# 退出浏览器
# driver.quit()
五、Selenium输入回车
在模拟用户操作时,可能需要使用键盘输入回车。可以使用Selenium提供的send_keys()方法,传递Keys.RETURN参数实现输入回车。
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
# 加载浏览器驱动
driver = webdriver.Chrome('path/to/chromedriver')
# 访问网页
driver.get('https://www.baidu.com')
# 获取搜索框并输入查询内容
search_box = driver.find_element_by_name('wd')
search_box.send_keys('Selenium')
# 输入回车
search_box.send_keys(Keys.RETURN)
# 退出浏览器
driver.quit()