Web_Selenium 笔记

*   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 >>>

你可能感兴趣的