• 项目自动化day1


    第一天
    1、请用自己的语言简要描述一下面向过程编程和面向对象编程的特点
    1.1、如果想实现一个数据库的查询操作,用面向过程编程如何实现,用面向对象编程如何实现,写出代码
    1.2、利用上述封装的数据库类任意实现几个mysql的查询操作
    1.3、思考如何实现mysql的增删改SQL操作?
      增删改没有数据返回,如何判断成功了(用try做错误捕捉,没有捕捉到错误则表示成功了,否则失败,代码如何实现?)
    2、python的类中__init__ 函数称为什么函数,什么时候该函数会被执行,该函数如果有参数应该怎么传入?
    3、python中的成员变量的作用域是什么,和函数内部的局部变量的区别是什么
    4、类、对象、实例化分别是什么意思?
    4、if __name__ == "__main__" 起到什么作用?
    5、请用自己的语言简要描述一下Page Object(页面对象)在自动化中的实现思路,可以结合Login类描述

    6、给下列代码添加注释说明其作用:

     1  class Login():
     2     def __init__(self, url):  #这个是...函数,有一个url作为传入参数  构造函数
     3       self.url = url      #这行代码将私有变量url赋值给了......变量:self.url
     4     def open(self):      #这个函数实现的作用是:......打开浏览器
     5       ......
     6     def close(self):    #这个函数实现的作用是:......关闭浏览器
     7       ......
     8     def login(self, user, pwd):  #这个函数实现的作用是:......,两个参数分别传入...和...  登录,用户名和密码
     9       ......
    10     def login_v(self, expStat, expInfo):  #这个函数实现的作用是:......,两个参数分别意思是:......验证登录是否符合预期,expStat表示期望登录成功还是失败,expStat表示无论成功失败的页面信息,从而可以和实际对比
    11         ......                       #expStat: True:期望登录成功;
    12                          #expInfo:if 期望登录成功,则为成功后页面应该出现的用户名;else 为登录验证失败,返回期望和实际对比 
    13                          #expStat:期望登录失败 
    14                          #expInfo: if 期望登录失败,则失败后页面应该出现提示失败信息;else 为登录失败信息不符合预期,返回期望和实际对
    15 
    16  if __name__=="__main__":   #什么时候__name__变量会等于__main__?  直接运行时__name__ = __main__ , 作为模块(也就是库)被导入 __name__ !=__main__
    17     x = Login("http://localhost:80/ranzhi/www")  #这行代码实现了...,得到x变量是... 传入参数url,变量是Login类的对象
    18     x.open() #这行代码调用了......, 实现了......功能操作  调用open(),实现了打开浏览器并指定url
    19     x.login("admin","123456") #这行代码调用了......并传入....和....作为参数, 实现了......功能  调用login(),传入admin和123456作为参数,实现了登录功能
    20     x.login_v(True, "admin") ##这行代码调用了......, 实现了......功能,传入 TRUE表示......,"admin"是......调用login_v,实现验证登录,TRUE表示期望登录成功,“admin”是期待登录成功后页面会出现的用户名

    7、按照Selenium课程中的方法写一个单元测试类:LoginCases,并调用Login类实现几个登录用例:

     1 import unittest
     2 from pages.loginPage import Login
     3 class LoginCases(unittest.TestCase):
     4   # setUpClass方法是所有测试用例前调用的方法
     5   @classmethod #类方法(class method)的定义
     6   def setUpClass(self):
     7     print("测试开始")
     8     self.lg = Login(""http://localhost:8090/)
     9   # tearDownClass方法是执行完所有测试后调用的方法
    10   @classmethod
    11   def tearDownClass(self):
    12     print('测试结束')
    13   ## 用例1(务必以test开头)
    14   def test_01(self):
    15   #第一个测试用例
    16   #用例2
    17   def test_02(self):

     


    #第二个测试用例
    8、将上课的代码手工实现一遍

  • 相关阅读:
    对于HTTP过程中POST内容加密的解决方案
    电脑重启后IDEA项目中import class 报错
    前端Button点击无反应--记一次Debug经历
    plsql 中substr函数和instr函数的灵活应用
    浅谈Plsql 中inner join 和left join的使用
    Mysql查询优化
    Mysql单机安裝
    centos查看文件被哪个进程占用
    jvm垃圾收集器详解
    navicat破解
  • 原文地址:https://www.cnblogs.com/lgmeng/p/13733289.html
Copyright © 2020-2023  润新知