六天入门软件测试⑤——测试编程笔记
-
测试流程
- 测试设计,测试分析,测试执行
- 1. 测试计划:word 文档
- 2. 准备数据:excel 表格 / (SQL Server, MySQL, Oracle)
- 3. 编写用例:直接在禅道编写 /(Excel 导入禅道)
- 4. 测试执行:手工(人) 、自动化(机器)
-
测试脚本
- 本质原理:让机器替人卖命
- 吃:电,网
- 懂:用机器能懂得沟通方式,编程语言
- 做:教他使用工具,鼠标,键盘,浏览器,excel,MySQL
- 安装环境
-
懂:比如用 Python / Java / C#,装上语言
-
做:浏览器、鼠标、键盘……
-
安装 selenium:专门在浏览器上行走的工具
- 打开浏览器,通过 URL 访问网页
- 在浏览器上进行操作
- 查看浏览器上的文字,标题
- 不同的语言,有不同的安装方法
-
Python
-
Java,使用 Maven 引入、或者 jar 包引入
-
安装 chrome 浏览器,安装 Firefox,Opera
-
给 selenium 和 chrome 建桥梁(驱动程序)
- selenium 可以通过驱动,操作 chrome
- 版本必须一致
- selenium 和 chrome 和 chromedriver 必须一致
- selenium 3.14
- chrome 69
- chromedriver 2.42
-
-
- 编写脚本
- 人的意图,中文翻译成Python
- 本质原理:让机器替人卖命
-
一个栗子
继续使用 登录功能的测试
-
测试计划涉及到自动化测试
-
准备数据
-
有效
-
用 Excel 表格准备好有效的数据
-
-
无效
-
-
编写用例
- 编写用例1:合法输入可以正常登录
- 编写用例2:非法输入无法登录
- 在禅道中写两个
-
执行测试
-
编写脚本
-
中文
-
翻译 Python
-
具体的翻译步骤
-
中文 → Python 的注释
-
对 Python 的注释进行填空
-
填写步骤
-
填写检查
-
-
-
-
执行脚本
- 光标放到 test 方法上
- 右键
- run Unittests ....
-
-
面向对象
- 目前了解的三个类
- WebDriver:浏览器的类:
- 方法:打开网址,刷新,前进,截图,找元素,退出
- 属性:标题,URL,句柄
- 本质上,实例化 WebDriver 类
- browser = WebDriver()
- browser = webdriver.Chrome()
- 因为 Chrome 类,继承了 WebDriver 类
- WebElement:浏览器页面的元素类
- <input> <div class="aa bb" readonly="true">
- 方法:点击,输入,清除
- 属性:text,attribute (class 和 readonly 都是属性)
- 使用:通过 WebDriver 类实例化出来的对象调用方法返回得到的
- 例如: we_account = browser.find_element_by_xpath("//*[@id='account']")
- Select 类 <select>
- TestCase:测试用例
- 方法:setUp() tearDown() test_ assertTrue
- 使用:通过创建类,继承 TestCase 类 来使用
- WebDriver:浏览器的类:
- 语法上 类的使用
-
定义类
-
使用类
-
继承类
-
- 目前了解的三个类
-
检查断言
- 单元测试框架
- java:JUnit,TestNG
- python:unittest,pyunit,nose
- c#:nunit
- php:phpunit
- 替代检查的代码
- 使用 unittest (Day4 讲义)
-
类,不再用面向过程
-
使用的是 unittest里面的 TestCase 类
-
继承:定义一个类,来继承 TestCase 类。
-
-
- 单元测试框架
-
常用的 特殊类
-
iframe
-
正常的 html 语言
-
iframe 操作
-
-
select
- we_select_role = wd_browser.find_xxxx()
- se_role = Select(we_select_role)
- se_role.select_by_index(1)
-
- 相关学习