当前位置: 首页 > news >正文

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

需求背景

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

需要一些基础的技术栈:

Python

HTML

CSS

JavaScript

 以上是客户环境↑

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

安装过记录

1.安装方式-Seleium安装:

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

 #查看已安装的Python包(可跳过)pip list#安装selenium 4.3.0pip 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

主页有更多案例,欢迎浏览留言,有需求可私信哦~


http://www.mrgr.cn/news/7875.html

相关文章:

  • rapidjson的移植
  • Pandas_merge_join
  • Java nio pipe 通信原理
  • JS基础进阶3-DOM事件
  • Python实现贪心算法
  • 使用分布式锁解决IM聊天数据重复插入的问题
  • STM32中的shell框架搭建
  • 游戏app激励视频广告预加载位置,最大化广告收益
  • 【Redis】基本全局命令
  • 如何在不格式化的情况下解锁 Android 智能手机密码
  • 257. 二叉树的所有路径
  • 口语笔词——高频介词
  • operlayers绘制点,线,面,以及其他基本操作
  • 基于Java语言的能源管理系统-水-电-气-热-油-数据采集系统源码
  • 王立铭脑科学50讲——19~24篇,大脑如何学习的
  • 【iOS安全】iPhone8 iOS14.4.2 越狱教程
  • 鸿蒙内核源码分析(特殊进程篇)
  • WiFi的IP和电脑IP一样吗?怎么更改wifi的ip地址
  • 计算机的错误计算(七十二)
  • tomcat的session会话保持