[测试相关]Selenium自动化测试工具简单使用示例

原文约2100字,阅读约需5分钟。发表于:

1.安装浏览器驱动 访问下载链接,既可以进入chrome驱动下载页面,目前selenium支持chrome、Firefox、IE 以及Remote。 Windows安装 将下载好的驱动文件放入任意位置即可,比如放在F:/ChormeDriver/chormedriver.exe中,我们将其路径设置到环境变量的Path中即可; Linux中安装 将下载好的驱动文件放入/usr/bin目录中即可 sudo cp chromedriver /usr/bin 2.安装selenium 在你项目的环境中通过下面的命令进行安装 pip install selenium -i https://pypi.douban.com/simple 上面的-i参数是可选的,是指定在哪个pip在哪个源搜索selenium,这里指定的是douban的源,下载速度相较于默认的python.org要更加的快。 3.简单的示例 from selenium import webdriver driver = webdriver.Chrome() driver.get('https://www.baidu.com') print(driver.title) assert '百度' in driver.title assert '我是' in driver.title 在上面的代码中,通过访问https://www.baidu.com来获取该网站的title信息,并判断百度以及我是是否在title中,运行结果如下。 因为我是没有包含在title中所以出错。 4.模拟键盘输入 from selenium import webdriver from selenium.webdriver.common.keys import Keys driver = webdriver.Chrome() driver.maximize_window() driver.get("https://2dogz.cn") assert "Blogin" in driver.title elem = driver.find_element_by_name("q") elem.clear() elem.send_keys("装饰器") elem.send_keys(Keys.RETURN) assert "装饰器" in driver.page_source assert "No results found." in driver.page_source 通过Keys模块我们可以模拟键盘的输入,在上面的代码中我们做了如下的事情 通过find_element_by_name来获取搜索的输入框 通过send_keys在输入框中嵌入搜索关键字百度一下 通过send_keys模拟按下ENTER按键,进入下一个搜索结果页面 在搜素结果页面中判断装饰器是否在其中 在搜索页面中判断No results found是否在其中 执行结果如下 浏览器页面   控制台输出 5.结合unittest使用 selenium自身不提供测试框架或者工具,我们可以通过Python 的unittest模块来写测试用例,也可以通过其他的的第三方测试工具如pytest或者nose等。 import unittest from selenium import webdriver from selenium.webdriver.common.keys import Keys class BaiduTest(unittest.TestCase): def setUp(self) -> None: self.driver = webdriver.Chrome() def test_title(self): driver = self.driver driver.get('https://2dogz.cn') self.assertIn('Blogin', driver.title) def test_blog_search(self): driver = self.driver driver.get('https://2dogz.cn') search = driver.find_element_by_name('q') search.send_keys('装饰器') search.send_keys(Keys.RETURN) self.assertIn('装饰器', driver.page_source) self.assertNotIn('没有找到', driver.page_source) def tearDown(self) -> None: self.driver.close() if __name__ == '__main__': unittest.main() 通过unittest模块将其与selenium结合起来实现自动化测试,上面的结果说明两个测试都是通过的,我们从网页中手动去搜索发下也是一样的结果。

该文章介绍了如何使用selenium库进行网页自动化测试。通过安装chrome驱动并设置环境变量,可以使用selenium驱动chrome浏览器。文章还提供了一些示例代码,演示了如何获取网页的title信息、模拟键盘输入、判断特定内容是否存在等操作。最后,文章提到可以使用Python的unittest模块编写测试用例。

[测试相关]Selenium自动化测试工具简单使用示例
相关推荐 去reddit讨论