自动化测试selenium重点来了

本文重点:
selenium特点、webdriver工作原理、脚本录制和一些简单api的使用


什么是自动化测试?

自动化测试是指软件测试的自动化,在预设条件下运行系统或应用程序,评估运行结果,预先条件应包括正常条件和异常条件。

自动化测试工具有哪些?

QTP

  • selenium
  • jmeter(性能测试工具,主要测试接口,可以自己设置,也可以录制脚本,也可以进行接口测试)
  • Loadrunner (性能测试工具,UI界面录制)
  • soupUI(接口测试工具,postman也可以进行接口测试)
  • appium(APP自动化测试工具)
  • macaca 阿里巴巴开发的

自动化测试金字塔(自上而下):

UI自动化    页面用例维护量比较大,适合界面稳定的时候做自动化测试
接口自动化   适合接口稳定的项目,和UI界面比效率比较高,用例维护量适中
单元测试     使用java语言中Junit去做
   越往上,效率越低,测试用例维护越来越麻烦

自动化适用于什么测试?

兼容性测试、回归测试(脚本重复利用率越高,自动化的价值越大)

如何实施自动化测试:先分析,然后编写测试用例,实现脚本,执行脚本,进行对脚本维护


selenium有哪些特点?

  • 轻量级,安装起来非常方便
  • 支持多语言,ruby,Python,java,C#等,受用人群就更加广泛
  • 支持多平台,Windows,Mac,Linux
  • 支持多浏览器,Firefox,IE,Chrome,edge,Safari,Opera
  • 支持分布式测试,自动化测试脚本太多时,可以把测试用例分布到不同的测试机器上执行,实现测试的快速实施
  • 而且还是免费

自动化测试selenium是一个工具集。
selenium 1.0 包括 selenium RC、selenium IDE、selenium GRID 存在环境沙箱问题
selenium 2.0 是selenium 1.0 + webdriver,解决了环境沙箱问题
selenium 3.0 增加了一些新特性,增加了edge、Safari的原生内核

webdriver工作原理

webdriver 浏览器的驱动,控制浏览器
乘客向出租车司机说明去哪里,出租车司机相当于webdriver,驱动汽车去那,乘客相当于脚本。

selenium IDE 录制脚本,打开IDE,新建一个项目,然后REC录制脚本,输入URL,可以回放录制的脚本,也可以选择语言导出。


简单API的使用

如何写一个简单脚本?

#要想使用selenium 的webdriver 里的函数,首先把包导进来
  from selenium import webdriver
#导入time
  import time
#需要操控的浏览器,首字母必须大写
  driver = webdriver.Chrome()
#打开网页-百度的的网址
  driver.get("https://www.baidu.com")
  
  time.sleep(8)
  #关掉软件
  driver.close()  
   #关掉软件,并清除浏览器的一些缓存
   driver.quit()  

不管是用哪种方法,定位时,元素必须是唯一的,才可以定位到。

定位元素的方式有哪些?

 - id
 - name 
 - class name   
 - link text 链接 
 - partial link text  部分链接内容 
 - tag name 
 - xpath	
 	先定位到那个元素,右击检查,找到那个元素,右击copy xpath找到这个元素
- css selector
from selenium import webdriver
import time

driver = webdriver.Chrome()
driver.get("https://www.baidu.com")
#不管是用哪种方法,定位时,元素必须是唯一的,才可以定位到
#id
# driver.find_element_by_id("kw").send_keys("赵丽颖")
# driver.find_element_by_id("su").click()

#name
# driver.find_element_by_name("wd").send_keys("王一博")
# driver.find_element_by_id("su").click()

#class name
# driver.find_element_by_class_name("s_ipt").send_keys("迪丽热巴")
# driver.find_element_by_id("su").click()

#link text 链接内容
# driver.find_elements_by_link_text("新闻").click()

#partial link text  部分链接内容
# 用hao来定位hao123
# driver.find_elements_by_partial_link_text("hao").click()

#tag name   不能定位到,input太多了,不唯一
#页面上多个元素的标签都是input,所以这个无法运行
# driver.find_element_by_tag_name("input").send_keys("易烊千玺")
# driver.find_element_by_tag_name("input").click()

#xpath
#从这个脚本的头(head),一直到脚本的位置,这个元素的的路径
#先定位到那个元素,右击检查,找到那个元素,右击copy xpath找到这个元素
# driver.find_element_by_xpath("//*[@id='kw']").send_keys("100周年")
# driver.find_element_by_xpath("//*[@id='su']").click()

#css selector
driver.find_element_by_css_selector("#kw").send_keys("叛逆者")
driver.find_element_by_css_selector("#su").click()

time.sleep
  • 5
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值