Python自动化测试实战 真实项目-Web自动化测试从方案到实战落地(一)

目录:导读

    • 前言
    • 一、项目讨论
    • 二、团队建设
    • 三、技术方案
    • 四、Selenium 总结
      • 1、Selenium IDE (火狐的插件)
      • 2、Python + Selenium WebDriver
    • 五、Selenium 基本使用
      • 1、Python + Selenium 环境搭建
      • 2、WebDriver的基本使用
    • 六、总结


前言

自动化测试就是任何利用工具来辅助的测试,几乎在计算机工业产生的第一天,这种测试就出现了。

历史上从来没有出现过“测试自动化取代测试工程师工作”这种事情发生,除非你完全忽略测试人员们的真正工作。

测试自动化意味着使用测试工具。自动化测试是个古老的理念。

一、项目讨论

项目中符合自动化测试的部分有哪些?(目标和范围 scope, 准入准出标准)

稳定的需求点、变动较少的页面
每日构建后的测试验证 daily build
比较频繁的回归测试
需要在多平台上运行的相同测试案例、组合遍历型的测试、大量的重复任务

自动化用例在整个项目的测试用例的覆盖率
一般的要求 50% +
重点的要求 80% +
根据项目的具体要求,变动特别大的项目需要额外单独考虑覆盖率

二、团队建设

建立自动化测试的组,理想状态下有4个人员,测试开发、中高级自动化测试工程师、2个初级自动化工程师;非理想的情况下,可能只有一个人。

测试开发:自动化框架的建设,确定自动化框架的设计模式、第三方代码工具的封装、中间公共模块的设计和调用、测试用例、测试套件的管理和执行、测试报告和测试结果的输出(文件输出和邮件通知)

可选高级:如果可能的话,需要搭建持续集成服务器(CI,Continuous Integration Server)的环境,进行持续交付和自动化的冒烟测试等。

培训的任务,需要将设计的框架以及封装的驱动,对其他成员进行培训。

有自动化方案的实施经验、有开发背景、以及持续集成的背景等。

中高级自动化测试工程师:配合测试开发人员,实施测试框架的建设。主要负责中间公共模块的实现和实例化等,以及部分高难度和流程复杂的自动化用例脚本编写和调试等工作。

有参与过自动化方案的建设、脚本编写经验丰富、会代码调试、懂Web测试等。

初级自动化测试工程师:
根据中间公共模块的设计,进行实例化公共模块、方法组合,实现自动化用例脚本的编写。

有计算机编程思维、有代码经验、可以读懂脚本和HTML等。

若只有自己一个人:
首先实现自动化用例的维护和执行。在这个基础上不断的抽取实现公共模块的设计以及测试报告的生成等工作。通过经验的积累,以及后续人员的补充,早日做好自动化框架的建设工作。

三、技术方案

Selenium WebDriver、Python(pytest/unittest) Java(JUnit)、CI Server

技术方案:
选择Python + Selenium 的技术方案。

首先技术工具是免费的,Python的工具用PyCharm社区版,Selenium的WebDriver是开源工具。利用比较简洁的Python语言进行自动化测试,对于人员的学习成本来讲比较实用,学习时间短,有优势。

另外Python自带的unittest单元测试框架或者可选择pytest(效果会更好)。可以很方便的实现自动化用例的设计和执行以及自动化用例套件的管理等任务。

Python是纯面向对象的语言,后续也可以过渡到Java + Selenium进行更加丰富的自动化测试。

此外,可以选择Jenkins作为持续集成服务器,配合Python+Selenium的方案进行自动化冒烟测试。

源代码管理工具(VCS, version control system)

选择SVN(git)作为代码的源代码管理工具。
集成在PyCharm中的步骤如下:
1、把代码放到SVN在本地签出(check out)的文件夹目录中,例如 D:\SVN\XXProject\Trunck
2、用PyCharm打开 刚刚部署的代码
3、选择PyCharm的 VCS|Enable VCS integration,选择 Subversion(svn) 或者 Git
4、右键项目文件的根目录,选择 Subversion | add to VCS
5、右键项目文件的根目录,或者选 VCS | Commit Directory…
6、每天打开代码后,首先 Subversion | update project

硬件:
硬件的要求不高,主要需要独立的测试环境。另外测试人员用的电脑最好是Windows桌面操作系统,需要安装Firefox浏览器,避免xx.x最新版本。测试人员最好也使用Chrome浏览器辅助进行Web元素的定位(建议)

四、Selenium 总结

1、Selenium IDE (火狐的插件)

Selenium IDE
一个基于火狐浏览器的插件

1)录制(需要确保右上角的录制按钮是按下去的),为了我们熟悉Selenium WebDriver/ RC

2)保存和另存为测试用例
无论是否保存用例,都可以直接回放

3)导出测试用例的对应的编程脚本

  • C# Nunit WebDriver
  • Java Junit / testNG WebDriver
  • Python unittest WebDriver
  • Ruby Test::Unit WebDriver

4)插入、编辑、删除命令

5)学习Selenium的WebDriver/ RC

2、Python + Selenium WebDriver

搭建环境步骤
1)安装 python3.x (windows xp 不支持 python3.5+)
2)设置环境变量 path(安装时候也可以解决 勾上 add python.ext to path)
3)安装Selenium 用pip命令安装 pip install -U selenium

有无问题?
路径,pip可能定位不到,pip也可能定位到别的文件夹(perl)
方案:cd c:\python39\scripts

外网ip问题。交换机的原因,局域网里面是同一个ip,造成安装超时

火狐的版本 46.0以及以下
windows 7 x64以上的系统,需要用管理员模式运行cmd,否则会安装失败。

普通的使用
定位方式
by id, name, class_name, tag_name, css_selector, xpath, link_text, partial_link_text
主要用的 是 id,name, css_selector, xpath, link_text

五、Selenium 基本使用

1、Python + Selenium 环境搭建

1)安装Python,3.x(3.7 3.8 3.9)

注意:环境变量path
需要添加 “C:\Python34;C:\Python39\Scripts;”到Path
步骤:

右键 我的电脑 属性 | 高级系统设置 | 环境变量
找 系统变量 | Path 并 双击 | Ctrl+C | 编辑 | Ctrl+V

2)安装 Selenium
cmd | pip install -U selenium
-U = --upgrade 升级安装

类似于linux命令
command -x param
容易出现的问题

环境变量
cd C:\Python34\Scripts
再安装
管理员权限
右键 管理员方式运行

2、WebDriver的基本使用

实例化一个WebDriver的对象(使用默认的火狐浏览器 v46或者以下)

driver = webdriver.Firefox()     # 注意,一定要写括号,代表实例化对象

# 打开网址
driver.get("http://xxxxxxxx")

# 查找元素
# 用id:
driver.find_element_by_id("account")

# 用name: 
driver.find_element_by_name("password")

# 用xpath css_selector:
#对元素的操作
clear()
click()
send_keys()
# 使用python的休眠,给浏览器留出时间加载页面
sleep(2)

# 闭退出火狐
driver.quit()

下节我们再更新进阶操作及常遇问题解决

六、总结

无法改变风向,可以调整风帆;无法左右天气,可以调整心情。如果事情无法改变,那就去改变观念。

志趁早点,上路轻松点,目光放远点,苦累看淡点,努力多一点,奋斗勇一点,胜利把名点,祝你折桂冠,成功新起点,幸福多一点,笑容亮一点。

路程再长,你思考的时候已经有人走在路上;未来再远,下一秒钟便是你在幻想的明天;奋斗再难,有梦想就有成功的希望;祝你好运,早日成功。

你可能感兴趣的:(测试开发,软件测试,自动化测试,自动化测试,软件测试,web自动化测试,python自动化测试,软件测试工程师)