第14章:python自动化——selenium基础

目录

一、Selenium介绍

二、Selenium+WebDriver

三、第一个自动化Demo实现

四、开发者工具


一、Selenium介绍

目前市场最主流的WebUI自动化测试技术。Appium也是继承于Selenium来实现的。现在市场的主流版本是Selenium4.x,Selenium4也是从2022年10月份左右开始正式提供开放下载和使用的。现在找相关资料一定要关注到Selenium的版本是否为4的版本。Selenium的核心就是JS

Selenium历代版本:

  1. Selenium1是最开始的版本。是基于FireFox浏览器的一个插件,全称叫做Selenium IDE,支持录制以及回放脚本的形态来实现自动化。

  2. Selenium2的版本,由google公司的技术团队领头研发出来。为了更好地支持多种浏览器,所以诞生了Selenium+WebDriver的技术体系

  3. Selenium3的版本,只有Selenium+WebDriver,也是现存时间最长的一个版本

  4. 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里面还可以做弱网测试,设置网络,如下图所示:

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值