您的位置:

Selenium入门指南

一、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()