【自动化测试】python+selenium+谷歌驱动安装记录

需求背景

客户是做偏前端开发的,日常工作需要进行web应用测试,模拟人类浏览器的行为;

需要一些基础的技术栈:

Python

HTML

CSS

JavaScript

 以上是客户环境↑

附加一些资料

Selenium介绍文档:

  • 官网 http://www.seleniumhq.org/ 
  • wiki地址  https://en.wikipedia.org/wiki/Selenium_%28software%29 
  • 百度百科搜索:【Selenium】

=====================================================================

安装过记录

1.安装方式-Seleium安装:

在PyCharm终端或window命令窗口输入以下命令

 #查看已安装的Python包(可跳过)
 pip list
 #安装selenium 4.3.0
 pip install selenium==4.3.0

注意:一定要确保python环境变量配置正确 ,使用命令:

 ##卸载Selenium命令
 pip uninstall selenium

配置浏览器驱动

Unable to Locate Driver Error | Selenium

 将下载好的浏览器驱动放置在Python安装目录下(即Python环境变量配置目录)

然后验证一下

import time
# 导入selenium包
from selenium import webdriver
# 打开Firefox浏览器
browser = webdriver.Firefox()
# 停留三秒
time.sleep(3)
# 关闭浏览器
browser.quit()

执行后,浏览器能被打开,证明配置ok! 

# 打开Chome浏览器
browser = webdriver.Chrome()
# 关闭浏览器
browser.quit()
# 打开Edge浏览器
browser = webdriver.Edge()
# 关闭浏览器
browser.quit()

客户chrom打开成功!

整体环境配置完成

 随机选择几个执行操作测试

鼠标操作

鼠标操作涉及到的类:ActionChains类

move_to_element(X)鼠标悬停,X代表定位到的标签

double_click(X)双击

context_click(X)右击

perform() 执行所有存储在ActionChains()类中的行为,做最终的提交

 不管执行哪个方法,最后都要调用perform()方法,将操作呈现出来。

from time import sleep
# 导入selenium包
from selenium import webdriver
from selenium.webdriver import ActionChains
from selenium.webdriver.common.by import By
# 启动并打开指定页面
browser = webdriver.Firefox()
browser.get("https://www.csdn.net")
sleep(2)
# 创建ActionChains对象
action = ActionChains(browser)
# 定位标签并将鼠标移入,并呈现移入结果
tag = browser.find_element(By.XPATH, '//div/a[@class="btn-write-new"]')
action.move_to_element(tag).perform()
sleep(3)
tag = browser.find_element(By.CSS_SELECTOR, '.blog-nav-box')
action.move_to_element(tag).perform()
sleep(2)
browser.find_element(By.LINK_TEXT, "数学").click()
# 关闭浏览器
sleep(2)
browser.quit()

 JS代码执行

  • execute_script(X)执行JS代码,X代表要执行的JS代码
from time import sleep
# 导入selenium包
from selenium import webdriver
# 启动并打开指定页面
browser = webdriver.Firefox()
browser.get("https://www.csdn.net")
sleep(2)
# 执行js弹窗代码
browser.execute_script("alert('这是js弹窗代码')")
sleep(2)
browser.switch_to.alert.accept()
sleep(2)
# 执行js窗口滚动条代码
browser.execute_script("window.scrollTo(20,1000)")
sleep(2)
# 打开多个窗口
browser.execute_script("window.open('https://www.baidu.com')")
browser.execute_script("window.open('https://www.bing.com')")
sleep(2)
browser.quit()

运行正常,交付ok

主页有更多案例,欢迎浏览留言,有需求可私信哦,环境配置有问题找【抠头】,最快十分钟远程解决~

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值