首页 > 编程语言 >python自动化之selenium

python自动化之selenium

时间:2024-11-14 17:18:21浏览次数:1  
标签:定位 python selenium driver window ui 自动化

python+selenium
selenium是一个第三方库,python有很多库;
1、什么是ui自动化?
通过模拟手工操作用户ui页面的方式,用代码去实现自动化操作和验证的行为。
2、ui自动化的优点?
(1)解决重复性的功能测试和验证
(2)减少测试人员在回归测试时用例漏测和验证点的漏测
(3)减少冒烟测试,回归测试的人力成本,节省时间,提高测试效率
3、ui自动化缺点?
(1)需求不稳定,比如,敏捷开发速度快,ui频繁变更,定位不稳定,提高了用例维护的成本
(2)用例的覆盖率少,占用例总数的15%-30%
(3)场景覆盖占当前功能场景70%-80%
4、ui自动化和功能测试那个更重要?
都重要
原因:(1)功能测试是基础,在熟悉功能的前提下才能做好ui自动化
安装方法1:
1、安装selenium命令(在dos命令中cmd )
pip install selenium==3.141.0 (python3中pip.exe默认在python的Scripts路径下)
2、可使用以下命令查看是否安装成功:
pip list
4、pycharm安装selenium


1、谷歌驱动:放在C:\python37 下面
https://googlechromelabs.github.io/chrome-for-testing/#stable 最新版本Google驱动歌
查看谷歌的版本: 因为版本和驱动要对应
将驱动放在python下
调用语句格式:
第一步:导入 from selenium import webdriver
第二步:创建一个driver对象来打开浏览器,对浏览器实现操作
driver = webdriver.Chrome()
第三步:通过对象谷歌浏览器且输入网址,在用get方法来打开一个网站的url
driver.get('http://gz.duoceshi.cn')

方法二: 格式:driver.execute_script("window.open('url')")
场景1:driver.execute_script("window.open('http://www.jd.com')")

重开窗口
拓展知识:
window.open()支持环境: JavaScript1.0+/JScript1.0+/Nav2+/IE3+/Opera3+
格式:window.open(pageURL,name,parameters)
pageURL 为子窗口路径 ,name 为子窗口句柄,parameters 为窗口参数(各参数用逗号分隔)

1、时间等待中的三种
1.1强制等待 sleep(xx) 例如:time.sleep(10)
1.2.隐性等待 implicitly_wait(xx) 例如:driver.implicitly_wait(10)
1.3.显性等待 WebDriverWait
2、drivere.refresh( ) 页面刷新
3、3.1driver.back( ) #返回上一页
3.2 driver.forward( )#切换到下一页

4、driver.set_window_size( 530,960) #设置指定窗口的大小
5、driver.maxmize_window( ) #窗口最大化

7、driver.get_screenshot_as_file(保存路径,图片名称) 截屏
8、退出的两种方式:一种是close ,另一种:quit

定位方法:

查看定位属性:
F12或者开发者工具查看页面元素

通过定位法输入内容 id,name,class

搜索定位超链接并点击

先查找页面的selector和xpath,再通过定位输入内容

场景7:tag_naem定位(标签定位)

场景6:javascript 定位
格式:driver.execute_script('document.getElementById("id值").value="输入的值"')

场景8:xpath定位 (详解)
格式:driver.find_element_by_xpath(xpath表达式)
两个定位:
1、绝对定位:
特点:1.以单斜杠/开头;2.从页面根元素(HTML标签)开始,严格按照元素在HTML页面中的位置和顺序向下查找
如:/html/body/div[2]/div[1]/div[5]/div/div/form/span[1]/input
2、相对定位:(我们一般都是用相对定位来定位的)
特点:1.以双斜杠//开头;2.不考虑元素在页面当中的绝对路径和位置;3.只考虑是否存在符合表达式的元素即可。
2.1使用标签名+节点属性定位
语法://标签名[@属性名=属性值]



场景9:css定位(详解)
格式:driver.find_element_by_css_selector('值')


Python+Selenium 实现UI自动化元素定位总结
在这9种常用的定位方法中,优先顺序
1)有id优先使用id定位
2)没有id,考虑使用name或者class定位。
3)如果没有id,name,class再考虑用xpath,css定位。
4)如果是链接可以考虑使用link_text,partial_link_text 定位。
5)tag_name和JavaScript还是用的比较少的,我们根据实际情况,具体问题具体分析

标签:定位,python,selenium,driver,window,ui,自动化
From: https://www.cnblogs.com/qq3074699547/p/18546461

相关文章

  • Python入门
    一、入门1.1注释单行注释#多行注释'''多行注释'''"""多行注释"""指定文件的编码方式必须在第一行才有效#coding:gbk1.2格式化输出print中,使用%print("姓名:%s,年龄:%d,成绩:%.2f"%(name,age,sco......
  • CentOS7 重装yum和python
    卸载现有的Python和Yum1、删除现有Python#强制删除已安装程序及其关联rpm-qa|greppython|xargsrpm-ev--allmatches--nodeps#删除所有残余文件##xargs,允许你对输出执行其他某些命令whereispython|xargsrm-frv#验证删除,返回无结果whereispython2、删除现有的yum......
  • Python实现批量提取Word文档中的图片(支持.doc和.docx格式)
            在工作中,我们可能会遇到需要从多个Word文档中批量提取图片的需求。如果手动操作,效率低且容易出错。因此,利用Python自动化批量提取图片是一个不错的选择。本篇文章将详细介绍如何使用Python来实现从.doc和.docx格式的Word文档中批量提取图片并保存......
  • DL00337-基于yolov11的阿尔兹海默症检测诊断含数据集python
    阿尔兹海默症是一种渐进性的神经退行性疾病,通常通过认知障碍、记忆丧失、语言障碍等症状表现出来。早期诊断是控制疾病发展的关键,但现有的诊断方法如临床评估、神经影像检查(CT、MRI等)通常具有一定的局限性。YOLOv11能够帮助提取医学影像中的有价值特征,进而辅助阿尔兹海默症的诊......
  • 【Python学习笔记】 第9章 元组、文件和其他核心类型
    元组Python元组的属性:任意对象的有序集合通过偏移量存取属于“不可变序列”固定长度、多样性、任意嵌套对象引用的数组元组的常见方法:运算解释()空元组T=(0,)单个元素的元组T=(0,'Ni',1.2,3)四个元素的元组T=0,'Ni',1.2,3还是四个元......
  • Python可视化Matplotlib折线图plot用法详解
    importmatplotlib.pyplotaspltimportrandom,iofrompylabimportmplimportnumpyasnp#画出温度变化图#设置显示中文字体mpl.rcParams["font.sans-serif"]=["SimHei"]#设置正常显示符号mpl.rcParams["axes.unicode_minus"]=False# 准备x.y坐标......
  • Python练习2:企业发放的奖金根据利润提成。利润([)低于或等于10万元时,奖金可提10%;利润
     Python练习2:企业发放的奖金根据利润提成。利润([)低于或等于10万元时,奖金可提10%;利润高于10万元,低于20万元时,低于10万元的部分按10%提成,高于10万元的部分,可提成7.5%;20万到40万之间时,高于20万元的部分,可提成5%;40万到60万之间时高于40万元的部分,可提成3%;60万到100万之间时......
  • 探险家的秘密武器:Python爬虫
    在一个名为“代码王国”的神秘地方,有一位著名的探险家,他的名字叫“爬虫侠”。爬虫侠不是普通的探险家,他是一位Python程序员,擅长使用代码作为武器,探索未知的世界。今天,他接到了一个任务:从遥远的“电商星球”的店铺中,获取所有的商品信息。准备阶段:装备升级在出发前,爬虫侠需要......
  • python爬虫获得店铺的所有商品
    在编写Python爬虫以获取店铺的所有商品信息时,通常涉及到发送HTTP请求、解析响应内容以及处理API返回的数据。以下是一个详细的Python爬虫示例,用于获取店铺的商品信息。这个示例假设API返回的是JSON格式的数据,并且需要API密钥进行认证。步骤1:导入必要的库首先,需要导入Python......
  • python-三方库-PyTorch-Pillow (PIL Fork)
    1需求官网:https://python-pillow.org/docs:https://pillow.readthedocs.io/en/stable/需求:Image.filename需求:获取图像格式Image.format需求:获取图像尺寸Image.sizeImage.widthImage.height需求:获取图像颜色模式Image.mode需求:获取图像像素值Image.load()[x,y]......