web 指的是基于浏览器打开的网页
web ui 自动化测试就是通过代码来模拟人为(点击、输入、下拉选择等)操作浏览器,为了减轻工作量,提高测试效率而产生的
本周是基于selenium这个工具展开的,其实是Python里面的一个库。
#注意,目前直接安装将会安装最新的4.0版本,我们需要3.0版本,安装时则要指定版本
在命令行输入以下安装地址:
pip install selenium==3.14 -i http://pypi.douban.com/simple --trusted-host pypi.douban.com
selenium支持的浏览器谷歌、火狐、edge、欧朋浏览器都支持,推荐使用谷歌浏览器(兼容性是最好的)
谷歌浏览器下载地址:Google Chrome 网络浏览器
浏览器一定不要装错,而且要保持最新版本,安装完成后如下图
如果是一下图标,都是假的浏览器,需要卸载掉
查看浏览器版本
下载谷歌浏览器所对应的版本,驱动的版本和浏览器一定要对的上,(加入过一段时间,你的浏览器升级了,驱动也要换)
浏览器驱动下载地址(国内地址):CNPM Binaries Mirror
这个驱动最好是添加到环境变量
在盘符下创建目录 D:\tools\driver,将驱动放到driver目录里面
将D:\tools\driver添加到环境变量path中去
步骤一:
步骤二:
不要删除原来的内容,在后面添加一行
注意:
win7 在配置的的时候,要注意:
;D:\tools\driver
步骤三:
在配置之后,必须重启电脑,切记!!!
只有重启配置的环境变量才能生效
本周新建一个项目
测试代码
from selenium import webdriver
# 打开谷歌浏览器
driver = webdriver.Chrome()
# 打开网页
driver.get("http://121.4.249.231/")
如果选择元素,则在;浏览器页面上按下 F12,
from selenium import webdriver
import time
# 打开谷歌浏览器,其实是类的实例化
driver = webdriver.Chrome()
# 设置浏览器最大化(避免页面显示不全导致测试出问题)
driver.maximize_window()
# 设置隐式等待,单位是秒
# 在10s钟之内采用轮询的方式,去检查页面元素有没有加载出来,超过设置的最大超时时间如果还没有加载出来,也会报错
driver.implicitly_wait(10)
# 打开网页
driver.get("https://www.baidu.com/")
# 在百度中搜索 蔡徐坤
# 首先要定位到搜索框
# send_keys表示输入内容
driver.find_element_by_id("kw").send_keys("蔡徐坤")
#获取网页源码
print(driver.page_source)
#获取窗口名称
print(driver.name)
#获取页面标题
print(driver.title)
#打印当前URL地址
print(driver.current_url)
#获取当前页面截图,path 为保存截图的文件夹
driver.get_screenshot_as_file(path)
# 点击百度一下
# click()是点击的意思
driver.find_element_by_id('su').click()
time.sleep(5)
# 关闭浏览器(所有窗口关闭)
driver.quit()
#如果指向关闭当前的窗口
#driver.close()