当前位置:   article > 正文

web自动化测试系列之selenium的安装和运行(一)

web自动化测试系列之selenium的安装和运行(一)

web自动化 ,一个老生常谈的话题 ,很多人的自动化之路就是从它开始 。它学起来简单 ,但做起来又比较难以驾驭 ;它的执行效率慢 、但又是最接近于用户的操作场景 ;

接下来本人计划写一个关于web自动化系列 ,打算从零基础开始写 ,直到写完整个进阶部分,进阶部分也正是我当年做测试开发的框架原型,靠着它我当年月入35K 。

1.web自动化中的三大亮点技术

我们先聊聊 ,在web自动化中都有哪些亮点技术 ?这里就不得不谈的以下三种技术,分别为 :

  • PO模式 :页面对象模型 ,将页面对象和操作逻辑分离 ,解决的是代码扩展性的问题 。
  • 数据驱动 : 通过添加不同数据 ,让测试用例循环运行 ,达到同一测试用例验证不同数据的目的 ,解决数据覆盖问题 。
  • 关键字驱动 :通过编写关键字 ,驱动测试用例运行 ,解决用例编写效率问题 。

当然 ,在框架中再结合上用例的配置方式 ,就能最大化的解决编写效率问题、减少人工编写用例时间 ,比如:

2.web自动化能解决什么问题 ?

在做功能测试时,经常会出现如下的情况:

  • 每次测试都要进行大量的回归测试 ,回归耗时耗力 。
  • 做兼容性测试时,也需要对已测试的功能进行各种浏览器的兼容测试 。

以上的测试都有一个共同特点 ,就是重复性的测试 ,且占用时间长 。

那么 ,长时间的这种重复性的测试会导致如下问题 :

  1. 测试效率低下,有时候回归测试的时间可能占总时间的1/5 ~ 1/3 。
  2. 回归测试时,最容易出现人为的漏测 ,导致可能出现bug流到线上 。
  3. 长时间的回归测试可能会导致测试人员觉得测试工作枯燥,对测试工作失去兴趣 。

怎么办 ? 最好的方案就是自动化解决 ,而如果你的系统是B/S架构 ,那无疑就是使用web自动化 。

3.为什么是selenium ?

其实做web自动化的框架或工具有很多 ,比如Robot Framework 、Cypress 、TestComplete等 。那我们为啥要选择selenium呢 ?

第一 : 主流 , 它目前是web自动化中最流行的工具 ,流量大意味着需求广 ,当然在应聘或工作中也就会用到的多 。

第二 :需求适应性好 ,不同项目的自动化需求是不同 ,有的只是做一些流程用例 、有的还想跑兼容 ,有的想在window上跑 ,同样有的想在Linux下跑 。而selenium这些个性化需求都能满足要求 。

4.selenium特点

  • 开源 : 完全可以自由下载 ,并且可以根据需求增加某些功能 。
  • 跨平台 : Linux ,Windows ,Mac
  • 支持多浏览器 : Firefox ,Chrome ,IE ,Edge ,Opera ,Safari 。
  • 支持多种语言 : python ,java ,c# ,JavaScript ,ruby,php 。
  • 成熟稳定 : 目前已被互联网的各种大小公司所使用 。
  • 功能强大 : 基本能实现浏览器中的绝大多数操作 。

5.selenium安装

学习selenium ,肯定离不开语言 ,这里我选用的是python ,所以学习前请安装python 。

python的推荐版本 :3.6~3.9之间的版本

python下载地址 :Download Python | Python.org

  • selenium安装 : pip install selenium
  • selenium验证 :pip show selenium

6.下载浏览器及驱动

selenium支持多种浏览器 ,我比较喜欢用chrome浏览器 。但是使用selenium需要下载对应的驱动版本 。

下载地址 :Chrome for Testing availability

  • chrome : 做web自动化所运行的浏览器 ,一般下载window 64位即可
  • chromedriver : 若要在chrome浏览器上运行,必须需要用到这个驱动,下载chrome浏览器对应的驱动版本即可 。
注意 :需要将chromedriver下载后解压,将chromedriver.exe放在python的安装路径下即可 。如下图 。

7.测试代码

目前能否在浏览器中运行 ,你需要编写一段代码进行验证 ,若下面的这段代码能正常运行不报错 ,则代表前面的配置没有问题 ,若报错 ,很可能是前面的配置不正确 ,请检查配置 。

  1. # 1. 导包
  2. from selenium import webdriver
  3. import time
  4. # 2. 创建浏览器驱动
  5. driver = webdriver.Chrome()
  6. driver.maximize_window()
  7. # 3. 打开web页面,输入百度
  8. driver.get("http://www.baidu.com")
  9. time.sleep(3)
  10. # 4. 在浏览器地址栏中输入关键字 :python
  11. driver.find_element_by_id("kw").send_keys("python")
  12. # 5. 点击按钮 :百度一下
  13. driver.find_element_by_id("su").click()
  14. # 6. 暂停
  15. time.sleep(5)
  16. # 7. 关闭浏览器
  17. driver.quit()

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

最后: 可以在公众号:程序员小濠 ! 免费领取一份216页软件测试工程师面试宝典文档资料。以及相对应的视频学习教程免费分享!,其中包括了有基础知识、Linux必备、Shell、互联网程序原理、Mysql数据库、抓包工具专题、接口测试工具、测试进阶-Python编程、Web自动化测试、APP自动化测试、接口自动化测试、测试高级持续集成、测试架构开发测试框架、性能测试、安全测试等。

如果我的博客对你有帮助、如果你喜欢我的博客内容,请 “点赞” “评论” “收藏” 一键三连哦!

 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/IT小白/article/detail/323262
推荐阅读
  

闽ICP备14008679号