2022年,总结了一份4000字Selenium 学习笔记

目录

一. 背景

二. 安装selenium

三. selenium3 浏览器驱动

四. 简单使用

五. selenium元素定位

六. 控制浏览器操作

一. 背景

Selenium 是一个用于Web应用程序测试的工具。Selenium测试直接运行在浏览器中,就像真正的用户在操作一样。支持的浏览器包括IE(7, 8, 9, 10, 11),Mozilla Firefox,Safari,Google Chrome,Opera等。这个工具的主要功能包括:测试与浏览器的兼容性——测试你的应用程序看是否能够很好得工作在不同浏览器和操作系统之上。测试系统功能——创建回归测试检验软件功能和用户需求。支持自动录制动作和自动生成 .Net、Java、Perl等不同语言的测试脚本。

优点:

框架底层使用JavaScript模拟真实用户对浏览器进行操作。测试脚本执行时,浏览器自动按照脚本代码做出点击,输入,打开,验证等操作,就像真实用户所做的一样,从终端用户的角度测试应用程序。

使浏览器兼容性测试自动化成为可能,尽管在不同的浏览器上依然有细微的差别。

使用简单,可使用Java,Python等多种语言编写用例脚本。

重要链接:

官方GitHub地址:github.com/SeleniumHQ/…

官方项目介绍PyPI:pypi.org/project/sel…

Selenium-Python中文文档:selenium-python-zh.readthedocs.io/en/latest/

二. 安装selenium

1.安装python

第一步安装Python某个版本,建议安装Python3.x,因为Python2版本2020年已经不再维护了。

第二步把Python安装目录添加到环境变量中。

网上一搜就有很多教程,这里不再赘余。

2.安装selenium

如果您的系统上有pip,则可以简单地安装或升级Python绑定:

pip install selenium

三. selenium3 浏览器驱动

当selenium升级到3.0之后,对不同的浏览器驱动进行了规范。如果想使用selenium驱动不同的浏览器,必须单独下载并设置不同的浏览器驱动。

Chrome浏览器驱动:chromedriver

Firefox浏览器驱动:geckodriver

IE浏览器驱动:IEDriverServer

其他浏览器驱动自行上网查找。

推荐使用 chrome 浏览器的 chromedriver.exe,对应 chrome 版本一定要对哦,不然运行不起来的。 浏览器驱动下载后,还需要添加到环境变量中。建议直接mv到/usr/local/bin目录下面,或者mv到Python安装根目录,因为这些地址已经加到环境变量中了。

四. 简单使用

编程语言的学习是从Hello Word入门。

我们selenium的学习当然也不能例外,下面就编写一个简单的Hello Word文件,开启学习之路。

打开一款Python编辑器,默认Python自带的IDLE也行。创建 hello.py文件,输入以下内容:

from selenium import webdriver          # 导入浏览器驱动

driver = webdriver.Chrome()            # 初始化

driver.get('https://www.baidu.com')    # 打开百度首页

print(driver.title)                    # 打印网页标题

driver.quit()                          # 关闭浏览器

至此,如果能够成功打开浏览器,恭喜你已经成功了。

五. selenium元素定位

Selenium提供了8种定位方式:id、name、class name、tag name、link text、partial link text、xpath和css selector

这8种定位方式在Python selenium中所对应的方法为:

通过 id 定位:find_element_by_id()

通过 name 定位:find_element_by_name()

通过 class 定位:find_element_by_class_name()

通过 tag 定位:find_element_by_tag_name()

通过 link 定位:find_element_by_link_text()

通过 partial_link 定位:find_element_by_partial_link_text()

通过 xpath 定位:find_element_by_xpath()

通过 css 定位:find_element_by_css_selector()

如何使用?举个例子吧,假设某个web页面元素属性如下所示:

 

 

   

新闻

hao123

通过link text定位:

dr.find_element_by_link_text("新闻")

dr.find_element_by_link_text("hao123")

通过partial link text定位:

dr.find_element_by_partial_link_text("新")

dr.find_element_by_partial_link_text("hao")

dr.find_element_by_partial_link_text("123")

关于xpaht和css的定位比较复杂,请参考:

xpath语法

css选择器

六. 控制浏览器操作

1、控制浏览器窗口大小 有时候我们希望能以某种浏览器尺寸打开,让访问的页面在这种尺寸下运行。例如可以将浏览器设置成移动端大小(480* 800),然后访问移动站点,对其样式进行评估;WebDriver提供了set_window_size()方法来设置浏览器的大小。

from selenium import webdriver

driver = webdriver.Chrome()

driver.get("http://m.baidu.com")

# 参数数字为像素点

print("设置浏览器宽480、高800显示")

driver.set_window_size(480, 800)

driver.quit()

在PC端执行自动化测试脚本大多的情况下是希望浏览器在全屏幕模式下执行,那么可以使用maximize_window()方法使打开的浏览器全屏显示,其用法与set_window_size() 相同,但它不需要参数。

2、控制浏览器后退、前进 在使用浏览器浏览网页时,浏览器提供了后退和前进按钮,可以方便地在浏览过的网页之间切换,WebDriver也提供了对应的back()和forward()方法来模拟后退和前进按钮。下面通过例子来演示这两个方法的使用。

from selenium import webdriver

driver = webdriver.Chrome()

#访问百度首页

first_url= 'http://www.baidu.com'

print("now access %s" %(first_url))

driver.get(first_url)

#访问新闻页面

second_url='http://news.baidu.com'

print("now access %s" %(second_url))

driver.get(second_url)

#返回(后退)到百度首页

print("back to  %s "%(first_url))

driver.back()

#前进到新闻页

print("forward to  %s"%(second_url))

driver.forward()

driver.quit()

为了看清脚本的执行过程,下面每操作一步都通过print()来打印当前的URL地址。

3、刷新页面 有时候需要手动刷新(F5) 页面。

driver.refresh() #刷新当前页面

……

最后感谢每一个认真阅读我文章的人,看着粉丝一路的上涨和关注,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走

这些资料,对于做【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!凡事要趁早,特别是技术行业,一定要提升技术功底。希望对大家有所帮助…….

关注我的微信公众号:【程序员小濠】即可获取这份资料了!

如果你不想再体验一次自学时找不到资料,没人解答问题,坚持几天便放弃的感受的话,可以加入我们的群:779450660 大家一起讨论交流,里面也有各种软件测试资料和技术交流。

如果对你有帮助的话,点个赞收个藏,给作者一个鼓励。也方便你下次能够快速查找。

你可能感兴趣的:(2022年,总结了一份4000字Selenium 学习笔记)