* 9.29
* Python 环境搭建
* 安装Python,设置环境变量
* 安装JDK,设置Java环境变量
* 安装PyCharm
* Web 自动化环境:
* 安装Chrome浏览器及驱动
* 注意:禁止Chrome自动化更新
* 将ChromeDriver驱动文件放到Python路径下
* cmd命令行输入 pip install selenium 安装 selenium
* 基本语法介绍
* 常用类型
* 数字
* 字符串
* 数组
* 元组
* 字典
* if ... elif ... else 条件判断
* for / while 循环
* 与、或、非
* 一些常见笔试题
* 计算1-100所有的奇数之和,偶数之和
* 冒泡排序
* 从键盘输入1个年份,判断该年份是否为闰年?
* 99乘法口诀表
* 9.30
* 首次接触自动化,例子:打开 baidu,输入框中输入,点击‘百度一下’按钮,关闭浏览器(8种元素定位)
* 介绍 类 & 方法,调用方法
* 1、实例化类
* 看类中是否有 __init__ 构造方法
* 若有 __init__ 构造方法,则看该方法中是否有参数,有几个参数,实例化类时就要加上几个参数
* 2、(对象)打点调用类里的方法
* 今日作业:
* 练习调用类里方法
* 1、调用CsvHelper(读取Csv文件,list、dict)
* 2、调用DbHelper(读取MySQL,可以用然之数据库为例)
* 3、调用YamlHelper(读取Yaml格式的文件)
* 将 ranzhi 登录自己用类和方法实现
* 类名字
* 有1个构造方法
* 打开浏览器
* 最大化窗口
* 输入然之网址
* 等待时间
* 定义1个选择语言的方法(里面整1个参数:语言)
* 定义1个输入用户名,输入密码,选择'保持登录',点击登录(3个参数)
* 登录成功之后退出(签退)
* 登录失败,点击“确定”按钮
* 新建1个Python文件,调用刚才的然之登录,实现登录!
* 10.8
* 将9.30的作业讲解
* 今日作业:
* 将上次9.30的任务都再练练
* 将 然之 登录用的一些常用方法自己封装下
* 打开浏览器
* 输入网址
* 等待时间
* 元素定位(8种)
* 最大化窗口
* 输入内容
* 点击
* 关闭浏览器
* 将9.30的那个然之登录,用自己封装的方法全部替代
* 实现多用户循环登录
* 提示:自己将登录用到的数据,存放到csv中,然后调用csv
* 10.9
* 课程内容:
* 讲解昨天的作业
* 用例基本要素:
* 编号
* 标题
* 预置条件
* 操作步骤
* 预期结果
* 优先级
* 手工 <=> 自动化
[图片上传失败...(image-3b164b-1543980154200)]
* case:
* unittest.TestCase
* 1.setUp()
* 预置条件
* 3.tearDown()
* 收尾工作
* 比如:关闭浏览器
* 数据清理
* 2.test_01() (用例编号)
* 真正写用例的地方
* 注意名字规范 test 小写
* 3个步骤:
* 读取csv数据
* 调用biz流程(方法) -操作步骤
* 断言 - 比较预期结果 VS 实际结果
* self.assertEqual(1,1)
* self.assertEqual(1,2,'a!=2')
* 判断a和b是否相等
* self.assertIn(ab,abc)
* self.assertIn(ad,abc,'ad不被abc包含')
* self.assertTrue(a)
* self.assertTrue(a,'a不为True')
* test_02()
* test_login() (用例标题)
* 今日作业:
* 将昨天的作业再自己重新写写
* 将昨天的然之登录项目结构化,重点试着写case
* <<< selenium4_2 >>>
* 10.10
* hat 项目框架介绍
* 作业:
* 将 ranzhi 登录(多用例)使用 hat 框架运行
* 运行 main.py 文件,生成测试报告,日志,截图,发送测试报告到我邮箱
* HAT 几点提示:
* main.py : 项目唯一执行入口
* 项目中路径: 写相对路径,不要写绝对路径
* 且:路径是从项目根目录下开始写
* 执行用例:
* runner.csv: 修改想要执行的类名,方法名,执行次数
* runner.py:修改想要执行的类名
* 发送邮件:
* 修改:邮件发送邮箱,授权码,接收邮箱
* 注意:是授权码,而不是登录密码
* 关于Page继承:
* selenium
* 最底层
* BoxDriver()
* 封装 selenium 常用的一些方法
* BasePage(BoxDriver)
* BasePage 继承 BoxDriver
* LoginPage(BasePage)
* LoginPage 继承 BasePage
* MainPage(LoginPage)
* SuperAdminPage(MainPage)
* GroupPage(SuperAdminPage)
* AddUserPage(GroupPage)
* AddUserPage 继承 GroupPage
* 在 case 中写添加成员的用例时,只需要实例化 AddUserPage,就可以调用 AddUserPage 所继承的前面所有页面的方法
* 任务:
* 将昨天的作业再自己敲1遍
* 将今天的 hat 项目结构一定非常熟悉
* 将昨天的 ranzhi 登录,使用 hat 方案重新整1遍,要求:生成日志,测试报告,将报告发送到我的邮箱。
* <<< hat_study_1 >>>
* 10.11
* 昨天作业回顾
* 项目结构已经有了,那么我们做自动化,主要做哪些工作?
* 1.准备测试数据
* case/data/ranzhi_login.csv
* 2\. 业务流程
* biz/ranzhi/login_page.py
* 3\. 编写测试用例
* test/ranzhi/login_test.py
* 4\. runner 执行运行
* runner/data/runner.csv 添加想要运行的类,方法,运行次数
* runner.py 添加类,导入包
* 5\. main.py
* box page case 比喻:
* box.py 封装一些常用的方法
* 比如原材料: 菜市场买大米,鱼,肉
* page.py
* 加工原材料为成品
* 大米 -> 做成米饭
* 活的鱼 -> 可以吃的鱼(成品)
* case.py
* 最终的目的
* 吃饭,吃鱼
* 今日任务:
* 1. 配置 PyCharm & SVN
* 2. 编写迭代测试计划
* 3. 练习 hat_study_2
* <<< hat_study_2 >>>
* 10.12-18
* 做1个小迭代
* <<< hat >>>
Web_Selenium 笔记
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
推荐阅读更多精彩内容
- 从这篇我们就开始介绍Selenium web driver了,这也是这个系列教程的核心。selenium web ...
- 如果你会docker 那么我更推荐你看看:https://www.jianshu.com/p/29c7240e9f...
- 欢迎查阅Selenium(Web自动化测试框架体系) Selenium 源码地址: Gitee地址:https:...