从零开始到设计Python+Selenium自动化测试框架-如何开始

2023-10-27

        如何开始学习web ui自动化测试?如何选择一门脚本语言?选择什么自动化测试工具?

       本人已经做测试快5年,很惭愧,感觉积累不够,很多测试都不会,三年多功能测试,最近两年才开始接触和学习自动化测试。打算写一个系列文章,关于如何从零开始到会设计和组装一个简单的web ui自动化测试框架。把文章放到这里的目的,方便以后自己记不住,回过来看看,还有就是给一些想学习web自动化测试的朋友们一些学习参考和交流,互相提高测试技能。

 

一. 为什么学习自动化测试

       首先,你是一个测试工程师,这个问题就应该很好解答,都是被逼的,作为一个测试工程师,如果不会一点代码和脚本,很容易被开发人员鄙视,很容易被刚毕业学生的抢走工作,最后就是被淘汰,苦苦找不到理想的工作。

       随便看看一个招聘网站关于测试工程师的要求,功能测试是基本要求,要会接口测试,要会自动化测试,要会性能测试,要会安全测试,要懂得持续集成,要看得懂代码,要编程能力,能通过设计开发,提高测试流程和规范,减少时间成本。上面任何一个测试领域,现在都有自动化测试工具和方法出现,只能手工测试的人来说,感觉很无奈,感觉什么都不会了。

      为了延长测试职业生涯,为了更好的工作机会,开始决定学习编程,学习一点自动化测试技术。开始奋斗吧。微笑


二. 自动化测试从什么领域开始

       

       GUI测试 VS API测试

       什么事情都是入门难,如何开始这个问题困扰了很多人,网上很容易找到如何学习和入门XX子类的提问。针对这个问题,我的答案是,选择一个方向,动手去练习。动手是最好的开始,看了很多,但是如果不去动手,去验证,去实践,结果还是什么都学不会。由于我是从web ui自动化开始学习,所以我也推荐从这个领域学习,理由主要有:基于B/S架构和移动端的软件开发实在太多,web ui自动化测试很容易入门和上手。学会了web ui自动化测试,以后手机端app 自动化测试也很容易上手。

 

三.为何选择Python+Selenium

       选择了学习web ui 自动化测试这个方向,接下来就选择一个合适的工具或者框架,还有合适的脚本语言。选择Selenium的原因是,它是开源的,开源意味不要收费,而且使用的人越来越多,就这么简单,这里不罗列Selenium的优点。工具选好了,接下来选择一个合适的脚本开发语言。

       很多人可能会很纠结,到底是选java还是python呢?我的意见是,如果你有java基础,可以选择java,如果你什么编程语言都不会,想从零开始,强烈建议选择python。会Java的人,也可以选择python,既可以学习Selenium也可以多学会一门脚本语言,感觉挺好的。

 

四.如何学习Python基本语法

       确定了选择Python+Selenium方向后,第一件事情就是收集资料。需要收集Selenium的介绍文档,Python语言基础入门学习文档。只有学会了Python基本语法,你才可以开始学习编写脚本。


Python 入门资料:

1.  笨方法学Python.pdf(强烈推荐)

有中文版和英文版,建议研读和动手操作,至少学习到第44个练习(目录参考英文版),大概是面向对象和继承介绍。

2.  一个小时Python入门视频教程

https://python.freelycode.com/train/start0

入门资料不要太多,这两个足够你很好学习和入门,最好两个交替进行,pdf看累了,看看视频,视频讲的太简单了,回过去看pdf,查看和学习相关概念。

 

Selenium介绍文档:

1.    官网介绍(需要翻墙): http://www.seleniumhq.org/

2.    Wiki介绍: https://en.wikipedia.org/wiki/Selenium_(software)

3.    百度百科搜索:Selenium

 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

从零开始到设计Python+Selenium自动化测试框架-如何开始 的相关文章

随机推荐

  • How to Debug the Eclipse C/C++ Indexer

    This page will guideline you to debug the C C Indexer in Eclipse when you meet C C Indexer Issues like below 1 Eclipse t
  • pthread_cond_wait pthread_cond_broadcast条件变量时要注意

    include
  • 应用服务器、开源框架常见实际问题记录

    eclipse 运行问题 1 The type javax servlet jsp PageContext cannot be resolved It is indirectly referenced from required class
  • exce中让两列数据一一对应_EXCEL让两个表格中的两列数据一一对应:

    WPS两个EXCEL中数据如何相对应的放在一起 例如 1 选中姓名这一列的数据中的标志就是表格的粗黑线 之后 依次在 开始 选项选择 编辑 排序和筛选 自定义排序 2 这时 会弹出 排序 窗口 在列的主要关键字中选择 姓名 排序依据 和 次
  • 终端对平台推送拉取数据选型

    开会讨论了一个问题 就是我们平台从终端获取到数据 经过我们的处理后 传输给另一个平台做展示 这个是实时的 要求必须经过我们平台 所以杠精住嘴 在这个传输过程中 给出了一下三个方案来传输数据 tcp websocket API 最后还是选取了
  • SpringBoot整合MyBatis

    SpringBoot整合MyBatis 转载请在文章最上方加上此句话 原文地址 http www cnblogs com zhuxiaojie p 5836159 html 前言 这段时间用springboot感觉确实挺好用的 很大程度上的
  • SQL查询优化——表分区

    1 表分区 在建表的时候将表建成分区表 2 好处 a1 提高对数据检索或操作的效率 a2 不同的分区可以保存到不同的表空间 磁盘 提高数据的安全性 a3 可以将数据分到不同的分区 a4 每个分区的数据可以独立的备份和恢复 3 表分区的方法
  • 【计算机科学】【2017.12】图像分类与回归的深度神经网络模型

    本文为意大利特伦托大学 作者 Salim MALEK 的博士论文 共98页 深度学习是机器学习的一个分支 在许多研究领域和实际中都得到了广泛应用 这种持续的发展主要可以追溯到潜在处理设施的可用性和可负担性 例如 仅在十年前 这些设施还没有普
  • np.quantile()详解

    numpy quantile numpy quantile a q axis None out None overwrite input False interpolation linear keepdims False import nu
  • Linux下的虚拟化部署

    文章目录 1 kvm安装条件 2 kvm虚拟化安装 3 kvm虚拟化相关信息 4 手动安装虚拟机 5 虚拟机管理命令 6 虚拟机在linux系统中传输 7 虚拟机快照 8 脚本执行新建 快照 修复虚拟机 9 虚拟机网络配置 1 kvm安装条
  • 硬盘的几点真相

    因为想自己修下硬盘 所以先找了远古时代的笔记本硬盘拆了看看结构 结果发现几个很有意思的地方 首先就是那个 do not cover 的小孔 相信很多人都注意到了硬盘上有个很小的小孔 从外面看进去好像是个微型可调电容 周围一圈文字 do no
  • Matlab 随机森林工具箱的配置使用

    总结一下Matlab随机森林工具箱的配置和使用 配置环境Matlab2019a windows10 vs2017 1 下载Matlab随机森林工具箱 下载地址http www buaapress com cn mzs file detail
  • java持久层框架数据源加密

    学习目标 java持久层框架数据源加密 文章目录 学习目标 1 mybatis框架数据源加密 https www cnblogs com melovemingming p 10699613 html 这里是引用https www cnblo
  • 基于HAL库的stm32的OLED显示屏显示(模拟I2C,四脚,0.96寸)

    参考视频 江科大oled程序移植stm32hal库 freertos学习 cpu使用率 哔哩哔哩 bilibili STM32入门教程 2023持续更新中 哔哩哔哩 bilibili 第一步 STM32CubeMX配置 一 时钟树配置 高速
  • vs2012配置python_Visual Studio 2012 Ultimate 上安装 Python 开发插件 PTVS

    1 我的环境 操作系统 32位 Win7 旗舰版 Service Pack 1 VS版本 Microsoft Visual Studio Ultimate 2012 版本 11 0 50727 1 RTMREL Python解释器版本 Py
  • CAD颗粒密堆积2D插件 球体重力堆积 离散元建模 分子热运动

    插件简介 CAD颗粒密堆积2D插件可用于生成二维状态下重力堆积的随机颗粒 插件可指定投放区域 颗粒的粒径范围 颗粒间的间距 颗粒个数等信息 同时可模拟颗粒弹性及摩擦摩擦系数 插件采用物理引擎对颗粒行为进行模拟 可实现颗粒在力场作用下的堆积
  • c语言小游戏 精简_C语言实现消消乐小游戏

    本文实例为大家分享了C语言实现消消乐小游戏的具体代码 供大家参考 具体内容如下 代码 include include include include include include include include using namespa
  • 线性代数-坐标系变换

    问题描述 已知一个全局坐标系 还有若干局部坐标系 如何将局部坐标系的坐标转成全局坐标系的坐标 反过来又如何进行 这里的坐标系都是直角坐标系 本文通过下面几个方面的研究来回答上面的问题 1 简单示例 2 求解过程 3 nodejs编程验证 简
  • 【数据结构与算法】数据结构知识点总结

    文章目录 前言 一 数组 一 知识点 二 常用操作代码示例 1 声明数组 2 初始化数组 3 访问数组元素 4 修改数组元素 5 遍历数组 6 数组作为函数参数 二 链表 一 知识点 二 常用操作代码示例 1 定义链表节点结构体 2 创建链
  • 从零开始到设计Python+Selenium自动化测试框架-如何开始

    如何开始学习web ui自动化测试 如何选择一门脚本语言 选择什么自动化测试工具 本人已经做测试快5年 很惭愧 感觉积累不够 很多测试都不会 三年多功能测试 最近两年才开始接触和学习自动化测试 打算写一个系列文章 关于如何从零开始到会设计和