自动化测试之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、特殊处理

下面是配套学习资料,对于做【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!

软件测试面试小程序

被百万人刷爆的软件测试题库!!!谁用谁知道!!!全网最全面试刷题小程序,手机就可以刷题,地铁上公交上,卷起来!

涵盖以下这些面试题板块:

1、软件测试基础理论 ,2、web,app,接口功能测试 ,3、网络 ,4、数据库 ,5、linux

6、web,app,接口自动化 ,7、性能测试 ,8、编程基础,9、hr面试题 ,10、开放性测试题,11、安全测试,12、计算机基础

资料获取方式 :

猜你喜欢

转载自blog.csdn.net/myh919/article/details/132104217