* 项目目标

 对百度登录页面(https://passport.baidu.com/v2/?login)进行登录测试

 python + selenium 实战

* 功能实现

  • 自动运行用例
  • 自动生成测试报告
  • 自动断言与测试截图
  • 自动将最新测试报告发送到指定邮箱
  • PageObject + Unittest + 数据驱动

 * 工程目录

 python + selenium 实战

  • base:基础共享包,通用定位元素方式封装
  • config:配置文件、配置信息存放的地方
  • util:存放第三方模块,发送邮件、读取报告等数据操作
  • page_obj:实现登录时,目标元素定位、自动发送信息等
  • business:执行page_obj包中相关py文件,逻辑操作等
  • case:内置程序main文件,真正case用例
  • report:测试报告 + 测试error截图

 * 各模块实现

 1、config模块

1)配置文件:LocalElement.ini

[LoginElement]
user_name=id>TANGRAM__PSP_3__userName
password=id>TANGRAM__PSP_3__password
login_error=id>TANGRAM__PSP_3__error
login_submit=id>TANGRAM__PSP_3__submit
login_loginbtn=id>TANGRAM__PSP_3__footerULoginBtn

 

2)配置信息:setting.py

import os

base_dir = os.path.dirname(os.path.dirname(os.path.abspath(__file__))) # 项目首路径
# report_path = os.path.join(base_dir,'report','first_case.html')  # 测试报告路径
config_ini = os.path.join(base_dir,'config','localElement.ini')  # localElement.ini 配置文件路径
report_path = os.path.join(base_dir,'report')  # report 配置文件路径

 

2、util模块

1)read_ini.py:读取配置文件内容

from config.setting import config_ini
import configparser

class Read_Ini(object):
    """读取配置文件信息"""
    def __init__(self,node = None):
        if node:
            self.node = node
        else:
            self.node = 'LoginElement'  # 配置文件中的某个节点
        self.cf = self.load_ini()

    def load_ini(self):  # 加载文件
        cf = configparser.ConfigParser()  # 使用 configparser模块读取配置文件信息
        cf.read(config_ini)  # 配置文件所在路径
        return cf

    def get_value(self,key): # 获取配置文件中key的value值
        data = self.cf.get(self.node,key)
        return data

# if __name__ == '__main__':
#     read_init = Read_Ini()
#     print(read_init.get_value('user_name'))
rea_ini.py

相关文章:

  • 2021-07-17
  • 2021-04-13
  • 2022-12-23
  • 2022-01-15
  • 2022-12-23
  • 2021-11-28
  • 2022-12-23
猜你喜欢
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-02-16
相关资源
相似解决方案