多测师肖sir_高级金牌讲师___ui自动化之selenium001

这篇具有很好参考价值的文章主要介绍了多测师肖sir_高级金牌讲师___ui自动化之selenium001。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一、认识selenium
(1)selenium是什么?

a、selenium是python中的一个第三方库

b、Selenium是一个应用于web应用程序的测试工具,支持多平台,多浏览器,多语言去实现ui自动化测试,我们现在讲的Selenium版本其实是Selenium2版本
c、Selenium测试直接运行在浏览器中,就像真正的用户在操作一样。支持的浏览器包括IE,Firefox,Safari,Google Chrome等
(2)selenium库用来做什么?
UI自动化(界面设计)
通过模拟用户手工操作ui页面方式,用代码去实现自动化操作和验证的行为

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

(4)ui自动化测试的情况?
a.需求不稳定,无法进行ui自动化
b.自动化用例的覆盖率,占用例15%-30%(正常场景)
c、场景覆盖占当前功能场景70%-80%

(5)UI自动化一般在什么时间做?
1、接口测试
2、功能测试
3、ui自动化(在功能测试完以后)

(6)ui自动化和功能测试那个重要?
都重要,ui自动化测试是功能测试测试完以后进行

(7)selenium的优点有哪些?
a.工具免费
b.安装简单,小巧,selenium其实就是一个包
c.支持多语言(java,python)+selenium完成自动化测试
d.支持多平台(window,linux)
e.支持多浏览器 (ie,firefox,chrome)
(8)Selenium工具原理是什么?
Selenium2的核心是webdriver

=========================================================
二、安装selenium库
(1)方法一:在dos命令下,输入以下命令
pip3 install selenium3.141.0 版本
pip install selenium 或python -m pip install selenium
3.141.0
多测师肖sir_高级金牌讲师___ui自动化之selenium001,ui,自动化,运维

(2)在pycharm中seting中添加

多测师肖sir_高级金牌讲师___ui自动化之selenium001,ui,自动化,运维

备注:注意下版本,3.14.1
在通过pip list 查看安装好的selenium 版本

多测师肖sir_高级金牌讲师___ui自动化之selenium001,ui,自动化,运维

第三方库存放在puython中的路径 :E:\python37\Lib\site-packages
多测师肖sir_高级金牌讲师___ui自动化之selenium001,ui,自动化,运维

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

三、安装谷歌浏览器和对应驱动

1、谷歌驱动下载

下载连接:https://registry.npmmirror.com/binary.html?path=chromedriver/
多测师肖sir_高级金牌讲师___ui自动化之selenium001,ui,自动化,运维

2、将驱动放在C:\python37
多测师肖sir_高级金牌讲师___ui自动化之selenium001,ui,自动化,运维
3、安装或下载谷歌浏览器
查看浏览器版本
多测师肖sir_高级金牌讲师___ui自动化之selenium001,ui,自动化,运维

如果出现报错:
多测师肖sir_高级金牌讲师___ui自动化之selenium001,ui,自动化,运维
下载下urllib库,降低版本:pyhton -m pip install urllib3==1.26.15

=========================================================
调试是否安装:

from  selenium import  webdriver
import  time
dx=webdriver.Chrome() #创建一个 webdriver对象
dx.get("https://www.baidu.com/") #通过对象打开网址
time.sleep(2) #休眠两秒
dx.maximize_window() #窗口最大化
dx.find_element_by_id("kw").send_keys("多测师") #根据id元素定位,输入内容

能运行表示环境安装好

=========================================================
1、打开浏览器
格式:对象.get(“网站”)
案例1:在同一个窗口,后一格浏览区覆盖前一个浏览器

from  selenium import  webdriver
import  time
dx=webdriver.Chrome() #创建一个 webdriver对象
dx.get("https://www.baidu.com/") #通过对象打开网址
time.sleep(3)
dx.get("https://www.jd.com/") #通过对象打开网址

案例2:格式:d.execute_script(“window.open(‘https://www.jd.com/’)”)
重开一个窗口

from  selenium import  webdriver
import  time
dx=webdriver.Chrome() #创建一个 webdriver对象
dx.get("https://www.baidu.com/") #通过对象打开网址
time.sleep(3)
dx.get("https://www.jd.com/") #通过对象打开网址
# dx.execute_script("window.open('https://www.jd.com/')") #重开窗口

=========================================================
休眠:
1.强制等待 sleep(xx) #等待时间是固定
定义:强制等待我们可以通过time模块中time.sleep()来实现,不管浏览器是否加载完成,只要程序执行到等待设定的时间,就会等待,时间一到,就继续执行后面的程序了。
2.隐性等待 implicitly_wait(xx) # #比sleep更节省时间
定义:隐式等待可以通过implicitly_wait()方法实现,默认等待的时间为0秒,隐式等待可以设置一个时间间隔,网页加载完成,就立即执行下一步程序,不然就等到时间截止,然后执行下一步程序,所以implicitly_wait()比time.sleep()应用起来更加方便。

3.显性等待 WebDriverWait(了解)
定义:显式等待是代码中等待一定条件发生后再进一步执行你的代码,通过webDriverWait结合ExpectedCondition实现。实现的方法:程序每隔几秒判断一下设定的条件,如果条件成立,则执行下一步,否则就继续等待,直到超过设置的最长时间,然后抛出异常,
多测师肖sir_高级金牌讲师___ui自动化之selenium001,ui,自动化,运维

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

refresh 页面刷新

案例:

from selenium import webdriver #d导入selenium库中webdriver
from time import * #导入时间模块
d=webdriver.Chrome() # 创建一d对象来打开浏览器,对浏览器实现操作
d.get(“https://www.baidu.com/”) #通过对象谷歌浏览器输入网址,在用get方法打开网站
sleep(2)
d.refresh()
sleep(2)
d.quit()

=================================
back 返回上一页

from selenium import webdriver #d导入selenium库中webdriver from time import * #导入时间模块 d=webdriver.Chrome() # 创建一d对象来打开浏览器,对浏览器实现操作 d.get(“https://www.baidu.com/”) #通过对象谷歌浏览器输入网址,在用get方法打开网站 sleep(2) d.get(“https://www.jd.com/”) sleep(2) d.back() sleep(5)

forward 切换到下一页

from selenium import webdriver #d导入selenium库中webdriver from time import * #导入时间模块 d=webdriver.Chrome() # 创建一d对象来打开浏览器,对浏览器实现操作 d.get(“https://www.baidu.com/”) #通过对象谷歌浏览器输入网址,在用get方法打开网站 sleep(2) d.get(“https://www.jd.com/”) sleep(2) d.back() sleep(5) d.forward() d.quit()

窗口最大化
d.maximize_window() 窗口最大化

from selenium import webdriver #d导入selenium库中webdriver from time import * #导入时间模块 d=webdriver.Chrome() # 创建一d对象来打开浏览器,对浏览器实现操作 d.get(“https://www.baidu.com/”) #通过对象谷歌浏览器输入网址,在用get方法打开网站 sleep(2) d.maximize_window() #窗口最大化 d.quit()

设置指定窗口的大小
d.set_window_size(500,500)

案例:

from selenium import webdriver #d导入selenium库中webdriver from time import * #导入时间模块 d=webdriver.Chrome() # 创建一d对象来打开浏览器,对浏览器实现操作 d.get(“https://www.baidu.com/”) #通过对象谷歌浏览器输入网址,在用get方法打开网站 sleep(2) d.set_window_size(500,500) sleep(5) d.quit()

退出方式:
第一种:close
第二种:quit
案例1:关闭当前窗口 close

案例2:quit

from selenium import webdriver #d导入selenium库中webdriver from time import * #导入时间模块 d=webdriver.Chrome() # 创建一d对象来打开浏览器,对浏览器实现操作 d.get(“https://www.baidu.com/”) #通过对象谷歌浏览器输入网址,在用get方法打开网站 sleep(2) d.execute_script(“window.open(‘https://www.jd.com/’)”) sleep(5) d.quit()

截屏:
对象.get_screenshot_as_file(“存放的路径”)

d.get_screenshot_as_file(r"D:\f\aa.png")文章来源地址https://www.toymoban.com/news/detail-721018.html

到了这里,关于多测师肖sir_高级金牌讲师___ui自动化之selenium001的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • jmeter测试rpc接口-使用dubbo框架调用【杭州多测师_王sir】

    1.基于SOAP架构。基于XML规范。基于WebService协议。特点:接口地址?wsdl结尾 2.基于RPC架构,基于dubbo协议,thrift协议。SpringCloud微服务。 3.基于RestFul架构,基于json规范。基于http协议(我们常用的都是这种,cms平台也是) RestFul规则∶ 接口地址: http://127.0.0.1/user , get(查询用户) , 

    2024年02月13日
    浏览(24)
  • Java+Excel+POI+testNG基于数据驱动做一个简单的接口测试【杭州多测师_王sir】

    一、创建一个apicases.xlsx放入到eclipse的resource里面,然后refresh刷新一下 二、在pom.xml文件中加入poi和testng的mvn repository、然后在eclipse的对应目录下放入features和plugins,重启eclipse就可以看到testNG了 三、封装一个读取Excel表格的工具类 四、通过testng创建一个testng类,引入@DataProv

    2024年02月13日
    浏览(31)
  • cms系统稳定性压力测试出现TPS抖动和毛刺的性能bug【杭州多测师_王sir】

    一、并发线程数100,分10个阶梯,60秒加载时间,运行1小时进行压测,到10分钟就出现如下 二、通过jstat -gcutil 16689 1000进行监控

    2024年02月09日
    浏览(38)
  • mysql数据库运行sql:datetime(0) NULL DEFAULT NULL报错【杭州多测师_王sir】

    一、错误信息 二、解决方法 问题发现是第三行,那就是datetime字段,在网上查询是mysql版本时间字段不能设置为0。给一个默认值,直接删除 (0) NULL

    2024年02月10日
    浏览(34)
  • jmeter通过BeanShell对接口参数进行MD5和HmacSHA256加密【杭州多测师_王sir】

    一、在eclipse里面编写MD5加密算法 二、在eclipse里面自己编写HMACSHA256算法 三、在eclipse里面写好之后,导出来为jar包,命名为:base64.jar  放在jmeter/lib/ext中 1.md5方法就一个参数,就是需要加密的数据 2.sha256_HMAC方法接收两个参数,message:需要被加密的数据,secret:加密的秘钥

    2024年02月12日
    浏览(33)
  • NOIP2023模拟9联测30-金牌

    link 记 d u d_u d u ​ 表示 u u u 到 1 1 1 的距离。 预处理出 s u m u = ∑ v ∈ T u 2 d v − d u sum_u=sumlimits_{vin T_{u}}2^{d_v-d_u} s u m u ​ = v ∈ T u ​ ∑ ​ 2 d v ​ − d u ​ 。 考虑两种情况 x x x 和 y y y 都不是 l c a lca l c a 。答案就是 2 dis ⁡ ( x , y ) ∑ u ∈ T x 2 d u − d x ∑ v ∈ T y 2 d v

    2024年02月06日
    浏览(25)
  • 四块ACM区域赛金牌,我队友

         是的,毕业12年以后,他来找我。     痛失网名了属于是,但是这不重要,​怎么说呢?有点激动,我得把这件事情记录下来,这是一位重量级的人物,也是大家眼中别人家的孩子。     他的履历是这样的:     是的,两次 WorldFinal 经历,四块区域赛

    2024年02月05日
    浏览(22)
  • App自动化测试:高级控件交互技巧

    简介 APP 的控件元素不仅涵盖了基础用户界面操作,还包括用户与应用程序中更复杂、功能丰富的空间之间的互动。这种交互远不止于简单的按钮或输入框。通过借助 Appium 的 Actions,能够完成对应用程序进行手势识别的交互。这意味着可以通过各种手势,如滑动、缩放、长按

    2024年04月10日
    浏览(38)
  • Web自动化测试——XAPTH高级定位

    XPath 是一门在 XML 文档中查找信息的语言 XPath 使用路径表达式在 XML 文档中进行导航 XPath 的应用非常广泛 XPath 可以应用在UI自动化测试 web自动化测试 app自动化测试 可维护性更强 语法更加简洁 相比于css可以支持更多的方式 浏览器-console $x(\\\"xpath表达式\\\") 浏览器-elements ctrl+f 输

    2024年02月03日
    浏览(23)
  • 人工智能讲师AIGC chatGPT讲师叶梓:chatGPT原理与实践提纲

    【课程简介】 本课程介绍了chatGPT相关模型的具体案例实践,通过实操更好的掌握chatGPT的概念与应用场景,可以作为chatGPT领域学习者的入门到进阶级课程。 详细提纲可威信了解详情amliy007 【课程时长】 1天(6小时/天) 【课程对象】 理工科本科及以上,且至少了解一门编程

    2024年02月15日
    浏览(54)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包