自动化测试之selenium工具使用

1. 自动化测试的前提

1.1 什么是自动化?

  • 减少人力成本
  • 完成大量重复性工作
  • 提高测试效率
  • 保证工作的一致性,提高信任度
  • 完成手工不能完成的工作

1.2 是否适合做自动化?

  • 时间 (项目周期长)
  • 人员 (熟悉自动化)
  • 系统(项目主体稳定)
  • 领导(领导支持推荐使用自动化)

1.3 在什么情况下做自动化

  • 单元测试?
  • 集成测试?
  • 接口测试?
  • UI测试

1.4 什么样的项目需要做自动化

  • 需求变更慢
  • 周期长
  • 脚本可重复利用

1.5 自动化工具、框架的选择

  • Selenium Webdriver
  • FireBug
  • FirePath

2. Selenium 简介

2.1 Selenium来历

  • 一个为减少测试工作的同行Jason Huggins同行通过js代码库开发的

2.2 Selenium 家庭成员

  • Selenium RC
  • Selenium IDE (自动化脚本录制工具)
  • Selenium Webdriver
  • Selenium Grid (在不同的浏览器运行脚本之类的)

2.3 Selenium 工作原理

 

复制代码

↓ ———————— Response ———————— 脚本 ====> webdirver ===> 浏览器 —————————— Request —————————↑

3. 自动化测试的必备工具

  • 选择火狐浏览器,版本一般选择27-32版本之间的
  • 安装FireBug、FirePath

Selenium IDE 的安装以及使用

  • 安装

  • 录制
 

复制代码

打开--浏览器顶部-工具-selenium IDE-打开 录制按钮-红色的时候是录用状态 URL Test Case 操作区域:command操作-target元素-value值

4. Selenium IDE 安装及使用简介

5.自动化框架环境搭建

6.常见浏览器启动

  • Firefox 启动
 

复制代码

driver = new FirefoxDriver() System.setProperty("webdriver.firefox.bin", "E:/Firefox/firefox.exe")

  • Chrome启动
 

复制代码

driver = new ChromeDriver(); System.setProperty("webdriver.chrome.driver", "E:/webdriver/chromedriver/chromedriver.exe")

  • IE 启动
    • 需下载驱动
     

    复制代码

    driver = new InterExplorerDriver(); System.setProperty("webdriver.ie.driver", "E:/webdriver/iedriverserver/IEDriverServer.exe")

webdriver常见元素定位

  1. By.id
  2. By.name
  3. By.tagName
  4. By.tagName
  5. By.className
  6. By.linkText
  7. By.partialLinkText
  8. By.xpath
  9. By.css
  10. table

常见API模块:

  1. 打开网址API.

    • Driver.get()
    • Driver.navigate.to()
  2. 操作浏览器API

    • Driver.navigate().refresh 刷新
    • Driver.navigate().forward 前进
    • Driver.navigate().back 向后
    • Driver.getTitle() 打印标题
    • Driver.getCurrentUrl() 获取当前URL地址
    • Driver.manage().window().maximize()浏览器大小 - - - - - Driver.quit 推出并关闭浏览器,没关闭进程
    • Driver.close() 关闭浏览器,关闭进程 通过Js操作滚动条操作 操作浏览器cookic ) 
  3. 输入框操作API

    • Send Keys()
    • Clear()
    • getText()
    • Click()
  4. 选择框处理

    • 单选框
    • 复选框
    • 下拉框
    • iframe窗口处理
    • 弹窗处理
  5. 页面元素处理

    • 等待加载
    • 根据属性获取元素值 获取对象的css属性
    • 获取对象状态:页面是否显示isdisplay
    • 元素是否存在find_element
    • 元素是否选中isSelected()
    • 是否处于灰化状态 idEnabled
    • 特殊操作讲解:
      • 报错是截屏保存
      • 模拟鼠标右键
      • 鼠标悬浮
      • 上传文件
      • 日期控件处理
      • 浏览器滚动条操作
        6、窗口处理API 7、JS处理 8、特殊处理

  总结

如果你对此文有任何疑问,如果你也需要接口项目实战,如果你对软件测试、接口测试、自动化测试、面试经验交流感兴趣欢迎加入我们,加入方式在文章的最后面

  自动化测试相关教程推荐:

2023最新自动化测试自学教程新手小白26天入门最详细教程,目前已有300多人通过学习这套教程入职大厂!!_哔哩哔哩_bilibili

2023最新合集Python自动化测试开发框架【全栈/实战/教程】合集精华,学完年薪40W+_哔哩哔哩_bilibili

测试开发相关教程推荐

2023全网最牛,字节测试开发大佬现场教学,从零开始教你成为年薪百万的测试开发工程师_哔哩哔哩_bilibili

postman/jmeter/fiddler测试工具类教程推荐

讲的最详细JMeter接口测试/接口自动化测试项目实战合集教程,学jmeter接口测试一套教程就够了!!_哔哩哔哩_bilibili

2023自学fiddler抓包,请一定要看完【如何1天学会fiddler抓包】的全网最详细视频教程!!_哔哩哔哩_bilibili

2023全网封神,B站讲的最详细的Postman接口测试实战教学,小白都能学会_哔哩哔哩_bilibili

  总结:

 光学理论是没用的,要学会跟着一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。

​​​

​​​

如果对你有帮助的话,点个赞收个藏,给作者一个鼓励。也方便你下次能够快速查找。

如有不懂还要咨询下方小卡片,博主也希望和志同道合的测试人员一起学习进步

在适当的年龄,选择适当的岗位,尽量去发挥好自己的优势。

我的自动化测试开发之路,一路走来都离不每个阶段的计划,因为自己喜欢规划和总结,

测试开发视频教程、学习笔记领取传送门!!

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值