玩转UI自动化测试1

1.自动化测试的目的是什么?

  在项目需要做大量回归测试中,全量回归成本太高,不全量回归会存在风险,自动化测试主要是为了提高回归测试的效率

2.什么样的项目适合做自动化测试?

  <1>.版本迭代比较频繁,项目(产品)需要反复测试回归的需求

  <2>.对于UI自动化迭代不是很频繁的(至少不是每天都改动)

3.UI自动化测试工具

  selenium 开源 稳定

  cypress   需要写js

  robot framework 可以使用

  airtest  网易开发的自动化测试工具

4. Selenium 原理

  selenium 翻译器 selenium core 把 测试代码(Python,java) 翻译成JSON报文({"操作":"点击","元素":"id=aaa"}),

  把JSON报文发给浏览器,浏览器厂商(chrome,firefox)根据selenium厂家联合在一起定制浏览器,浏览器有一套机制,

  看到selenium的JSON代码,浏览器就会生成一段JS,执行相关的操作,执行完以后,把执行结果返回给selenium core{"status":ok},

  继续执行下一步操作,selenium 与浏览器采用的是webdriver协议

 

 

 

 5.selenium 安装

  在python环境下,使用pip 方式进行安装,pip 安装的位置在 python安装目录 /python36/lib/sitepackages/selenium
  pip install selenium ,如果需要指定版本号,则是命令 pip install selenium==3.141.0

  需要查看安装的版本,输入命令:  pip list|findstr selenium 

6.下载webdriver

  使用selenium时,还需要webdriver,不同的浏览器,webdriver也不同,具体下载地址如下:

     Chrome浏览器: http://chromedriver.storage.googleapis.com/index.html

     Firefox浏览器: https://github.com/mozilla/geckodriver/releases

     Edge浏览器: https://developer.microsoft.com/en-us/microsoft-edge/tools/webdriver/

  下载webdriver时,需要注意与浏览器版本一致,否则selenium启动会闪退,浏览器最好关闭自动更新

  chrome浏览器关闭更新:
    <1>.首先是【右键计算机->管理】,在【计算机管理(本地)->系统工具->任务计划程序->任务计划程序库】中找到两个和Google自动更新相关的任务计划                  【GoogleUpdateTaskMachineCore】与【GoogleUpdateTaskMachineUA】,并把它俩禁用掉
              <2>.【服务和应用程序->服务】中,找到两个和Google更新相关的服务【Google更新服务(gupdate)】、【Google更新服务(gupdatem)】,并右键,选               择属性,把启动类型改为禁用。
    <3>.不要在Chrome中点击【帮助->关于Google Chrome】

  为了测试方便,一般都将浏览器driver放到项目目录下

  

  实例化driver对象时,需要指定下driver路径:  driver = webdriver.Chrome(executable_path='../driver/chromedriver.exe')

7.测试selenium 环境是否配置成功,代码如下:

from selenium import webdriver
# 实例化一个chrome浏览器的webdriver对象
driver = webdriver.Chrome(executable_path='../driver/chromedriver.exe')
# 跳转到百度首页
driver.get("http://www.baidu.com")
# 将百度首页截图保存为base64编码内容
print(driver.get_screenshot_as_base64())
# 退出当前浏览器窗口
driver.close()
运行上面的代码,浏览器能够正常启动,并打印base64编码内容,则说明环境配置成功
至此,selenium环境配置完成

  

 
posted @ 2022-06-05 10:44  maxwell11  阅读(60)  评论(0编辑  收藏  举报