多测师拱墅校区肖sir_高级金牌讲师_selenium库介绍

一、介绍ui自动化

1、selenium是一个第三方库,python中有很多第三方库;第三方库在哪里:

在这里插入图片描述

2在pycharm中的setting中查看第三方库;在这里插入图片描述
3、什么是ui自动化?
ui就是界面设计,
通过模拟手工操作用户页面方式,用代码来实现自动化操作和验证的行为。

4、ui自动化的优点?
(1)解决重复性的功能测试和验证
(2)减少测试人员在回归测试时用例漏测和验证点的漏测
(3)减少冒烟测试,减少回归测试人力成本,
(4)节省时间,提高测试效率

5、ui自动化的缺点?
(1)需求不稳定,比如敏捷开发速度快,ui频繁变更,定位不稳定,提高用例维护的成本
(2)自动用例的覆盖率,占用例总数大概20%-30%,
(3)场景覆盖占当前功能场景70%-80%

6、ui自动化和功能测试那个重要?
都重要,先把功能测试成功,在进行ui自动化测试,
功能测试是ui自动化基础,先熟悉功能的前提下才能做好ui自动化

=================================
二、介绍selenium库
1、定义:
Selenium是一个应用于web应用程序的测试工具,支持多平台,多浏览器,多语言 去实现ui自动化测试,我们现在讲的Selenium版本其实是Selenium2版本
2、支持的浏览器有哪些?
Selenium测试直接运行在浏览器中,就像真正的用户在操作一样。支持的浏览器包 括IE,Firefox,Safari,Google Chrome等
3、selenium 是一套完整的web应用程序测试系统,包含了测试的录制(selenium IDE),编写及运行(Selenium Remote Control)和测试的并行处理(Selenium Grid)

4、用selenium的优点?
(1)、工具免费
(2)安装简单,小巧,selenium其实就是一个包
(3)支持多语言(java,python)+selenium完成自动化测试
(4)支持多平台(window,linux)
(5)支持多浏览器 (ie,firefox,chrome)

5、Selenium工具原理?
Selenium2的核心是webdriver webdriver是按照 client-server设计原理设计 client:简单来说就是我们写的代码,以http请求的方式发送给server端,server 端接收请求,执行相应操作,并返回给client端。 server:客户端的脚本启动后,被控制的浏览器就是server端,职责就是等待 client端发送请求并作出响应。 使用的协议: JSON Wire protocol(作用是可以让同一个浏览器驱动处理不同编程语言的脚本)

========================================
三、安装selenium
安装方法:
方法一:在dos下通过pip安装selenium
(1)pip3 install selenium3.141.0

pip install selenium
3.141.0

(2)查看是否安装成功
pip show selenium
在这里插入图片描述
方法二:
在pycharm中的setting中安装selenium
在这里插入图片描述
注意点:
1、如果安装报错:pip版本太低
解决方案:升级pip直接输入 : python -m pip install --upgrade pip
2、记得配置pip环境变量
3、安装出现pip 安装不是内部命令
解决:安装环境变量的问题,

2、安装驱动 讲课用谷歌浏览器(驱动和谷歌版本一致)

(1)下载谷歌浏览器;
查看谷歌的版本

在这里插入图片描述
2、下载对应谷歌版本驱动
对应版本镜像链接:http://npm.taobao.org/mirrors/chromedriver/

在这里插入图片描述
3、下载好的驱动,放到python下
路径:C:\python37

C:\python37\Scripts
在这里插入图片描述

===========================================
selenium基础语句使用:

一、selenim调用语句:
格式:
from selenium import webdriver #导入selenium库 中webdriver 函数
from time import * #导入time模块
d=webdriver.Chrome() #创建一个d的对象来打开浏览器,对浏览器实现操作,浏览器
d.get(“https://www.baidu.com/”) #通过对象谷歌浏览器输入网址,用get方法url来打开一个网址
d.maximize_window() #窗口最大化
sleep(2) #休眠时间(秒数)
d.find_element_by_id(‘kw’).send_keys(“多测师”) #id定位方法,send_keys输入(内容)

二、打开页面方法

第一步导入库
from selenium import webdriver #导入selenium库 中webdriver 函数
from time import * #导入time模块
在这里插入图片描述
第二步创建对象
(1)创建对象d=webdriver.Chrome()
在这里插入图片描述
第三步:通过对象,打开浏览器

格式:d.get(“网址”)
案例:情况1:打开一个窗口
from selenium import webdriver #导入selenium库 中webdriver 函数
from time import * #导入time模块
d=webdriver.Chrome()
d.get(“https://www.baidu.com/”)
案例:情况2:打开两个窗口 (在一个窗口下是覆盖)
from selenium import webdriver #导入selenium库 中webdriver 函数
from time import * #导入time模块
d=webdriver.Chrome()
d.get(“https://www.baidu.com/”)
sleep(2)
d.get(“https://www.jd.com/”)
案例3:情况2:打开两个窗口 (另开一个窗口下是覆盖)
from time import * #导入time模块
d=webdriver.Chrome()
d.get(“https://www.baidu.com/”)
sleep(2)
w=‘window.open(“https://www.jd.com/”)’
d.execute_script(w)

==============================
1、时间等待:
(1)强制等待 :一定要等待到指定的时间

格式:导入time模块
sleep(2) #
在这里插入图片描述

(2)隐性等等
格式:对象.implicitly_wait(时间)
d.implicitly_wait(3)
在这里插入图片描述

(3)显性等待
webdirvewite (不讲)

================================================================
页面刷新;
refresh
案例:
from selenium import webdriver #导入selenium库 中webdriver 函数
from time import * #导入time模块
d=webdriver.Chrome()
d.get(“https://www.baidu.com/”)
sleep(5)
d.refresh()
sleep(5)
d.close()
在这里插入图片描述

=================================
back() :返回上下一页

from selenium import webdriver #导入selenium库 中webdriver 函数
from time import * #导入time模块
d=webdriver.Chrome()
d.get(“https://www.baidu.com/”)
sleep(3)
d.get(“https://www.jd.com/”)
sleep(3)
d.back()
sleep(5)
d.close()

在这里插入图片描述

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

forward 切换到下一页
案例:
from selenium import webdriver #导入selenium库 中webdriver 函数
from time import * #导入time模块
d=webdriver.Chrome()
d.get(“https://www.baidu.com/”)
sleep(3)
d.get(“https://www.jd.com/”)
sleep(3)
d.back()
sleep(5)
d.forward()
sleep(5)
d.close()
在这里插入图片描述

==========================
maximize_window() 窗口最大化
案例:
from selenium import webdriver #导入selenium库 中webdriver 函数
from time import * #导入time模块
d=webdriver.Chrome()
d.get(“https://www.baidu.com/”)
sleep(3)
d.maximize_window()
sleep(5)
d.close()
在这里插入图片描述

set_window_size(200,200) 设置指定窗口的大小

d.set_window_size(200,200)
from selenium import webdriver #导入selenium库 中webdriver 函数
from time import * #导入time模块
d=webdriver.Chrome()
d.get(“https://www.baidu.com/”)
sleep(3)
d.set_window_size(200,200)
sleep(10)
d.close()

======================
退出;
(1) close() 关闭当前窗口
from selenium import webdriver #导入selenium库 中webdriver 函数
from time import * #导入time模块
d=webdriver.Chrome()
d.get(“https://www.baidu.com/”)
sleep(3)
w=‘window.open(“https://www.jd.com/”)’
d.execute_script(w)
sleep(10)
d.close()

(2)qiut () 关闭所有的窗口
from time import * #导入time模块
d=webdriver.Chrome()
d.get(“https://www.baidu.com/”)
sleep(3)
w=‘window.open(“https://www.jd.com/”)’
d.execute_script(w)
sleep(10)
d.quit()

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

多测师软件测试培训师肖sir

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值