目录
一、Selenium介绍
目前市场最主流的WebUI自动化测试技术。Appium也是继承于Selenium来实现的。现在市场的主流版本是Selenium4.x,Selenium4也是从2022年10月份左右开始正式提供开放下载和使用的。现在找相关资料一定要关注到Selenium的版本是否为4的版本。Selenium的核心就是JS
Selenium历代版本:
-
Selenium1是最开始的版本。是基于FireFox浏览器的一个插件,全称叫做Selenium IDE,支持录制以及回放脚本的形态来实现自动化。
-
Selenium2的版本,由google公司的技术团队领头研发出来。为了更好地支持多种浏览器,所以诞生了Selenium+WebDriver的技术体系
-
Selenium3的版本,只有Selenium+WebDriver,也是现存时间最长的一个版本
-
Selenium4的版本,优化了Selenium3中的底层代码,增加了新的操作方式,摒弃掉了不常用的一些操作行为。同时又新增了Selenium IDE4的版本,可以支持多种不同的浏览器的插件形态,用于实现录制和回放的功能
做分布式测试框架部署的组件叫做Selenium Grid,用于解决特殊的复杂业务自动化,不是特别常用,但是装个逼还是可以的。
Selenium本身是一个跨平台的开源技术,支持多种不同的语言开发。
二、Selenium+WebDriver
-
环境部署:
-
安装python3.7以上版本,才能够支持Selenium4
-
指令:pip install selenium 如果觉得下载太慢可以添加国内源
-
安装webdriver,一定要确保webdriver与浏览器类别一致,以及版本一致
-
chrome与ChromeDriver
-
Firefox与geckodriver
-
edge与edgedriver
-
Safari与safaridriver
-
-
将下载好的chromedriver解压exe文件到python的安装路径下即可
-
核心关键,你的浏览器一定要安装在默认路径下才可以。如果不在默认路径下,则会要配置其他的内容。
-
-
WebDriver运行原理:用python写selenium库的代码去操作webdriver,webdirver回去浏览器的默认安装路径下去找浏览器chrome.exe,启动了这个程序后,再去控制浏览器。
浏览器反馈的信息是先反馈到webdriver,然后经由webdriver反馈到代码端。
三、第一个自动化Demo实现
在自动化的代码执行过程中一定要记得,电脑是没有思维逻辑的。
不要把什么业务逻辑之类的概念灌输在电脑之中。
电脑只会将你写的代码一行行执行,如果有问题就报错。
所以代码如果没有按照你的想法来执行,请检查你的代码是否正确。
不要去用人的角度来思考。
自动化测试执行的内容,一定是你已经提前知道的东西。
不会有未知的内容,如果有,那就是报错了。
'''
这是一个基本的Selenium demo:hello world
'''
from time import sleep
from selenium import webdriver
# 创建浏览器对象
driver = webdriver.Chrome()
# 访问指定的url:url的全部内容,一个都不能少
driver.get('http://www.baidu.com')
# 定位到输入框,获取输入框元素
el = driver.find_element(by='id', value='kw')
# 输入内容
el.send_keys('python自动化')
# 定位到百度一下按钮,并获取该元素
el1 = driver.find_element(by='id', value='su')
# 点击一下该按钮
el1.click()
sleep(20)
四、开发者工具
统一启动热键都是F12,如图所示
通过左上角的箭头,可以找到页面中元素所在的位置:
将浏览器切换为手机模式,一般用于测H5网页使用,手机的型号可以选择
Console控制台:用于通过命令的形式获取一些信息,需要具备一些前端知识:
Sources的作用:有时候会访问到系统上的一些一闪而过的信息,这个时候需要用到它的断点功能。打完断点,页面就会暂停,如果有临时弹出的东西就可以记录下来,这个时候再去定位元素,就可以定位到了。
Network:抓包工具,和fiddler及Charles类似
network里面还可以做弱网测试,设置网络,如下图所示: