web自动化之基础内容(全网最详细,selenium环境准备和selenium工具操作)-第一天

这篇具有很好参考价值的文章主要介绍了web自动化之基础内容(全网最详细,selenium环境准备和selenium工具操作)-第一天。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1.环境准备

(1)pycharm中要安装selenium

也可用pip指令安装pip install selenium

web自动化之基础内容(全网最详细,selenium环境准备和selenium工具操作)-第一天,python,ui自动化,自动化,selenium,python

web自动化之基础内容(全网最详细,selenium环境准备和selenium工具操作)-第一天,python,ui自动化,自动化,selenium,python

(2)安装chromedriver

根据你自己的chrome的版本,下载对应的chromedriver

chrome版本在114前,下载的链接

http://chromedriver.storage.googleapis.com/index.html

chrome版本超过114,下载的链接

Chrome for Testing availability

本人的chrome版本为120.0.6099.110

web自动化之基础内容(全网最详细,selenium环境准备和selenium工具操作)-第一天,python,ui自动化,自动化,selenium,python

进入这个链接Chrome for Testing availability

web自动化之基础内容(全网最详细,selenium环境准备和selenium工具操作)-第一天,python,ui自动化,自动化,selenium,python

web自动化之基础内容(全网最详细,selenium环境准备和selenium工具操作)-第一天,python,ui自动化,自动化,selenium,python

把下载的chromedriver解压,复制你解压的目录(后面代码会用到)

web自动化之基础内容(全网最详细,selenium环境准备和selenium工具操作)-第一天,python,ui自动化,自动化,selenium,python

(4)验证

win + r 输入 cmd

输入chromedriver --version

web自动化之基础内容(全网最详细,selenium环境准备和selenium工具操作)-第一天,python,ui自动化,自动化,selenium,python

2.什么是selenium?

web测试工具,运行在浏览器当中,像真正的用户在手工操作一样
    支持主流的浏览器,其功能包括:
        1、浏览器的兼容性
        2、创建回归测试

3.什么是webdriver?

对浏览器提供的原生API进行封装,用这套  API l可以操作浏览器

总结:

selenium是python的一个库,我们写selenium代码,也是在写python代码
python代码不能直接操作浏览器,但可以操作webdriver
webdriver 可以操作浏览器,所以,我们间接的可以用python操作浏览器

4.ui自动化操作流程

    选择界面元素
        根据元素的特征进行选择:ID、Name、Class、TagName 等
        根据元素的特征及关系:css、xpath
    操作界面元素
        输入操作:点击、输入文字、拖拽元素
        输出操作:获取元素的各种属性

   

5.实战练习

注意:网页登录前和网页后的html标签可能不一样,所以定位元素可能不一样,所以你在实操的时候,要保持一致性

5.1访问百度并搜索

代码示例

from selenium import webdriver
# 创建浏览器驱动对象,这里是打开浏览器
driver = webdriver.Chrome("E:\愤怒吧小鸟\chromedriver-win64\chromedriver.exe")
#这种写法是在配置了chromedriver环境变量之后,可不写chromedriver的路径
# driver=webdriver.Chrome()
# 访问网址
driver.get('http://www.baidu.com')
# 找到元素
ele = driver.find_element_by_id("kw")  #找到元素,找百度的输入框
# 操作元素,输入内容
ele.send_keys("小苏")  #输入文本

# 找到元素,找到 百度一下 按钮
ele = driver.find_element_by_id("su")
# 操作元素,点击按钮
ele.click()
#quit()是直接退出浏览器
# driver.quit()
#close()是关闭当前标签页
driver.close()

找百度网页的输入框(通过id)

web自动化之基础内容(全网最详细,selenium环境准备和selenium工具操作)-第一天,python,ui自动化,自动化,selenium,python

找百度网页的按钮“百度一下”(通过id)跟上面的方法一样

注意:
driver=webdriver.Chrome()中括号里面写不写chromedriver的路径,就看你有没有配置chromedriver环境变量

5.2元素定位的方法

# 根据 id 属性进行定位, 只返回找到的第一个元素
ele = driver.find_element_by_id("abc")
# 获取元素的文本值并打印出来
print(ele.text)

# 根据 name 属性定位, 只返回找到的第一个元素
ele = driver.find_element_by_name("abd")
print(ele.text)

# 根据链接文本进行定位, 只返回找到的第一个元素
ele = driver.find_element_by_link_text("点击进入百度")
ele.click()

# 根据链接文本进行定位, 模糊定位, 只返回找到的第一个元素
ele = driver.find_element_by_partial_link_text("点击进入")
ele.click()

# 根据 tag_name 进行定位, 只返回找到的第一个元素
ele = driver.find_element_by_tag_name("span")
print(ele.text)

# 根据 class 属性进行定位, 只返回找到的第一个元素
ele = driver.find_element_by_class_name("hello")
print(ele.text)

# 根据 xpath 进行定位, 只返回找到的第一个元素
ele = driver.find_element_by_xpath("/html/body/div/ul/li[2]")
print(ele.text)

# 根据css定位,匹配元素列表,返回所有能匹配到的元素,存在一个列表里边
ele = driver.find_element_by_css_selector("html > body > div > ul > li:nth-child(2)")
print(ele.text)

注意:
1 、根据 class _ name 进行定位的时候,有时候会遇到复合类,也就是
class 属性中间有 空格 class 属性比较特殊, class 属性中间的空格是间
隔符号,表示的是一个元素有多个 class 的属性名称, 此时元素定位的时
候任取一个即可(不保证唯一定位)
2 selenium 没有提供 判断元素是否存在的功能,所以当你需要判断一
个元素存不存在的时候,直接定位可能会报错。我们可以去匹配一个元素
列表,列表为空则元素不存在,列表不为空则元素存在
技巧,在进行元素定位的时候,有时会遇到一些特别难以定位的元素,此
时你可以使用下边这种模式,分步骤定位,一步步缩小定位范围

环境准备,再day01下新建test.html(自己写的界面,简单,方便初学者学习)

test.html资源可在资源中自行下载,如有疑问,可在评论区留言

web自动化之基础内容(全网最详细,selenium环境准备和selenium工具操作)-第一天,python,ui自动化,自动化,selenium,python

把复制的路径,复制粘贴到浏览器中

web自动化之基础内容(全网最详细,selenium环境准备和selenium工具操作)-第一天,python,ui自动化,自动化,selenium,python

web自动化之基础内容(全网最详细,selenium环境准备和selenium工具操作)-第一天,python,ui自动化,自动化,selenium,python

代码示例

from selenium import webdriver
# 创建浏览器驱动对象,这里是打开浏览器
driver = webdriver.Chrome("E:\愤怒吧小鸟\chromedriver-win64\chromedriver.exe")
# 访问网址
driver.get("file:///D:/sonQin/pythonProjectSelenimu/day01/test.html")
"""
# 根据 id 属性进行定位, 只返回找到的第一个元素
ele = driver.find_element_by_id("abc")
# 获取元素的文本值并打印出来
print(ele.text)  #海客谈瀛洲,烟涛微茫信难求
"""

"""
# 根据 name 属性定位, 只返回找到的第一个元素
ele = driver.find_element_by_name("abd")
print(ele.text)  #天南地北双飞客,老翅儿几回寒暑
"""

"""
# 根据链接文本进行定位, 只返回找到的第一个元素
ele = driver.find_element_by_link_text("点击进入百度")
#点击
ele.click()
"""

"""
# 根据链接文本进行定位, 模糊定位, 只返回找到的第一个元素
ele = driver.find_element_by_partial_link_text("点击进入")
ele.click()
"""

"""
# 根据 tag_name(标签名称) 进行定位, 只返回找到的第一个元素
ele = driver.find_element_by_tag_name("span")
print(ele.text) #人道海水深,不抵相思半
"""

# 根据 class 属性进行定位, 只返回找到的第一个元素
ele = driver.find_element_by_class_name("xyz")
print(ele.text)  #无意苦争春,一任群芳妒

"""
# 根据 xpath 进行定位, 只返回找到的第一个元素
#/html/body/div/ul/li[2]是绝对路径
ele = driver.find_element_by_xpath("/html/body/div/ul/li[2]")
print(ele.text)  #寂寞开无主
"""
"""
# 匹配元素列表,返回所有能匹配到的元素,存在一个列表里边
ele = driver.find_element_by_css_selector("html > body > div > ul > li:nth-child(2)")
print(ele.text) #寂寞开无主
"""
driver.quit()

xpath定位图解

web自动化之基础内容(全网最详细,selenium环境准备和selenium工具操作)-第一天,python,ui自动化,自动化,selenium,python

css定位图解

web自动化之基础内容(全网最详细,selenium环境准备和selenium工具操作)-第一天,python,ui自动化,自动化,selenium,python

注意:如果class属性名称有空格,driver.find_element_by_class_name("hello nice world")这样定位就会报错

举例

web自动化之基础内容(全网最详细,selenium环境准备和selenium工具操作)-第一天,python,ui自动化,自动化,selenium,python

web自动化之基础内容(全网最详细,selenium环境准备和selenium工具操作)-第一天,python,ui自动化,自动化,selenium,python

总结css和xpath定位:

web中80%都会用到css定位,必须要学xpath是因为appium没有css定位方法,只有xpath

元素定位注意事项(一定注意,并牢记)
    1、当你想要操作某个确定的元素的时候,一定保持自己的表达式唯一定位
    2、当你需要操作一组元素的时候,你必须保证自己的表达式
        a.能匹配到所有想要操作的元素
        b.不会匹配到任何其他不想操作的元素 

5.3匹配元素列表

代码示例

web自动化之基础内容(全网最详细,selenium环境准备和selenium工具操作)-第一天,python,ui自动化,自动化,selenium,python文章来源地址https://www.toymoban.com/news/detail-762293.html

到了这里,关于web自动化之基础内容(全网最详细,selenium环境准备和selenium工具操作)-第一天的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

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

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

相关文章

  • web自动化测试入门篇04——selenium+python基础方法封装

        😏 作者简介:博主是一位测试管理者,同时也是一名对外企业兼职讲师。 📡 主页地址:【Austin_zhai】 🙆 目的与景愿:旨在于能帮助更多的测试行业人员提升软硬技能,分享行业相关最新信息。 💎 声明:博主日常工作较为繁忙,文章会不定期更新,各类行业或职场问

    2024年02月03日
    浏览(32)
  • 【python】之selenium模块,实现Web端自动化测试!【基础篇】

    Selenium是一个Web的自动化测试工具,最初是为网站自动化测试而开发的,Selenium 可以直接调用浏览器,它支持所有主流的浏览器(包括PhantomJS这些无界面的浏览器),可以接收指令,让浏览器自动加载页面,获取需要的数据,甚至页面截屏等。我们可以使用selenium很容易完成之

    2024年02月06日
    浏览(28)
  • 基于web应用的UI自动化、跨浏览器测试、测试结果分析:Selenium 开源的自动化测试工具基础教程

    作者:禅与计算机程序设计艺术 Selenium是一个开源的自动化测试工具,它提供了基于web应用的UI自动化、跨浏览器测试、测试结果分析等功能。它提供的功能包括:自动化控制浏览器、操纵表单、点击链接及按钮、验证页面元素、执行JavaScript代码、生成PDF文件、模拟移动设备

    2024年02月09日
    浏览(33)
  • Web自动化测试(一)(全网最给力自动化教程)

    2.1 操作元素基本方法 2.2 常用8种元素定位(Firebug和firepath) 2.3 xpath定位 正文 前言 前面已经把环境搭建好了,从这篇开始,正式学习selenium的webdriver框架。我们平常说的 selenium自动化,其实它并不是类似于QTP之类的有GUI界面的可视化工具,我们要学的是webdriver框架的API。 本

    2024年02月02日
    浏览(30)
  • 【Web UI自动化测试】Web UI自动化测试之框架篇(全网最全)

    本文大纲截图: UnitTest框架: PyTest框架: 框架: 框架英文单词 framework,为解决一类事情的功能的集合。需要按照框架的规定(套路)去书写代码。 概念:UnitTest是python自带的一个单元测试框架,用它来做单元测试 自带的框架:不需要单独按照,只要安装了 python就可以用

    2023年04月09日
    浏览(35)
  • 【Web UI自动化测试】Web UI自动化测试之日志收集篇(全网最全)

    本文大纲截图:   日志: 用于记录系统运行时的信息,对一个事件的记录,也称为 Log 。 日志作用: 1)调试程序 2)了解系统程序运行的情况是否正常 3)系统程序运行故障分析与问题定位 4)用来做用户行为分析和数据统计 日志级别: 日志级别:指日志信息的优先级、重

    2024年02月12日
    浏览(30)
  • 自动化测试: Selenium 自动登录授权,再 Requests 请求内容

    Selenium 自动登录网站、截图及 Requests 抓取登录后的网页内容。一起了解下吧。 Selenium: 支持 Web 浏览器自动化的一系列工具和库的综合项目。 Requests: 唯一的一个非转基因的 Python HTTP 库,人类可以安全享用。   Selenium 实现,相当于模拟用户手动打开浏览器、进行登录的过程。

    2024年01月21日
    浏览(43)
  • 全网最详细的自动化测试(Jenkins 篇)

    Robot Framework 概念 Robot Framework 安装 Pycharm + Robot Framework 环境搭建 Robot Framework 介绍 Jenkins 自动化测试 Robot Framework是一个基于Python的,可扩展的驱动的自动化测试框架。 它有几个主要特点:  使用简单易用的表格式语法创建测试用例; 提供从现有扩展到更高级别

    2024年02月09日
    浏览(28)
  • 自动化测试之web自动化(Selenium)

     🔥 交流讨论: 欢迎加入我们一起学习! 🔥 资源分享 : 耗时200+小时精选的「软件测试」资料包 🔥  教程推荐: 火遍全网的《软件测试》教程   📢 欢迎点赞 👍 收藏 ⭐留言 📝 如有错误敬请指正! yycnblog 自动化测试概念:让程序代替人为去验证程序功能的过程,本

    2024年03月15日
    浏览(51)
  • 火爆全网,Python自动化测试-openpyxl操作测试(详细)

    当做自动化测试时,测试用例逐渐变多情况下,如果所有测试用例都通过代码管理将会使得代码十分臃肿,而且维护成本会很高; 所以我们一般会通过Excel去管理所有的测试用例,而openpyxl库提供了访问Excel的方法 openpyxl的介绍 一个Python库,用于读取/写入Excel 2010 xlsx 、xlsm 、

    2024年02月11日
    浏览(31)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包