示例#1
0
#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Author  : huxiansheng ([email protected])
from System_setting.Logger import Logger

logger = Logger(logger='common_class').getlog()


class common_class():
    '''
    参数:
    obj 需要转换类型的对象
    type_ 需要转换的类型
    返回:
    obj 转换后的对象
    '''
    def change_type(self, obj, type_):
        _type = type(obj)
        if _type == type_:
            return obj
        else:
            try:
                obj = type_(obj)
                return obj
            except BaseException as e:
                logger.error('object类型转换出错:%s' % e)
                return obj
示例#2
0
#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Author  : huxiansheng ([email protected])

import time
from selenium.common.exceptions import NoSuchElementException
import os
from System_setting.Logger import Logger
from selenium.webdriver.common.action_chains import *  #用于鼠标事件
from selenium.webdriver.common.keys import Keys
from System_setting.Screenshot import Screen

#实例化日志类
logger = Logger(logger='Basepage').getlog()


class Basepage():
    """
    定义一个页面基类,让所有页面都继承这个类,封装一些常用的页面操作方法到这个类.
    """
    def __init__(self, driver):
        self.browser = driver
        self.Screen = Screen()

    #退出浏览器
    def quir_browser(self):
        self.browser.quit()

    #浏览器前进
    def browser_forward(self):
        self.browser.forward()
示例#3
0
#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Author  : huxiansheng ([email protected])

import configparser
import os
from selenium import webdriver
from System_setting.Logger import Logger
from System_setting.Root_directory import Root_xpath

#实例化Logger类
logger = Logger(logger="Driver").getlog()


class Driver():
    # 获取项目绝对路劲并且组合需要的新路径
    x = Root_xpath()
    dir = x.get_root_path()
    # 获取浏览器驱动的路径
    Chrome_driver_path = dir + '/tools/chromedriver.exe'
    Ie_driver_path = dir + '/tools/IEDriverServer.exe'

    # def __init__(self,driver):
    #     self.driver = driver

    def open_browser(self):
        # def open_browser(self):
        #实例化配置文件类
        config = configparser.ConfigParser()
        #获取配置文件路劲,并读取
        # driver_config_xpath = os.path.dirname(os.path.abspath('.'))+'/config/driver.ini'
示例#4
0
#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Author  : huxiansheng ([email protected])

import time
import os
import HTMLTestRunner
from System_setting.Logger import Logger
from System_setting.Root_directory import Root_xpath

logger = Logger(logger='Test_report').getlog()

#测试报告格式化


class Report():
    def get_report_path(self):
        root = Root_xpath()
        root_path = root.get_root_path()
        report_path = root_path + '/Data/Report'
        return report_path

    def Test_report(self, report_title):
        report_path = self.get_report_path()
        # 获取系统当前时间
        month = time.strftime("%m", time.localtime(time.time()))
        day = time.strftime("%d", time.localtime(time.time()))
        report_name = time.strftime("%H_%M_%S", time.localtime(time.time()))
        report_path = report_path + r'/' + month + '月' + r'/' + day + '日'
        report_statu = os.path.exists(report_path)
        # os.makedirs(report_path)
示例#5
0
#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Author  : huxiansheng ([email protected])

from Browser_statr import Driver_statr
from Page.Login_page import login_page
import configparser
from System_setting.Config import Config
from System_setting.Logger import Logger
from System_setting.Screenshot import Screen
from Browser_statr.Driver_statr import Load_drive


logger = Logger(logger="login_page").getlog()

class login_case(Load_drive):

    def setUp(self):
        self.login_pg = login_page(self.browser)

    def test_login(self):
        data = Config().config_data('common_data',['muke'],['username','password'])
        username = data[0]
        password = data[1]
        self.login_pg.clikc_login_button()
        self.login_pg.input_email_password(username,password)
        self.login_pg.click_login()
        self.login_pg.sleep(2)
        dispaly = self.login_pg.login_is_dispaly()
        if dispaly==True:
            raise ('登陆失败,当前处于登陆界面')
示例#6
0
#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Author  : huxiansheng ([email protected])

import os
import time
import math
from System_setting.Logger import Logger
from System_setting.Root_directory import Root_xpath
import xlrd
from All_class.Decorator import Decorator

logger = Logger(logger='exceldata').getlog()


class Exceldata():
    def __init__(self):
        xpath = Root_xpath()
        self.excel_path = xpath.get_root_path() + '/Data/Excel/'

    @Decorator.Running_time()
    def get_data(self, excel_name, excel_sheet=None):
        excel_path = self.excel_path + excel_name + '.xls'
        try:
            excel = xlrd.open_workbook(excel_path)
            logger.info('正在打开excel文件%s' % excel_name)
        except BaseException as e:
            logger.error('打开excel文件【%s】出错%s' % (excel_name, e))
            return False
        if excel_sheet == None:
            logger.info('没有填写sheet名字,默认读取第一页')
示例#7
0
#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Author  : huxiansheng ([email protected])

import time
import smtplib
from System_setting.Config import Config
from email.mime.text import MIMEText
from System_setting.Root_directory import Root_xpath
from email.mime.multipart import MIMEMultipart  #发送附件
from email.header import Header
from System_setting.Logger import Logger

logger = Logger('SMTP').getlog()


class Smtp():

    # 获取
    def __init__(self, report_path):
        self.report_path = report_path
        report = self.report_path.split('/')
        self.report = report[-1]

    #邮箱服务信息初始化
    def smtp_Initialization(self, config_title):
        try:
            config_value = [
                'service', 'port', 'sender', 'password', 'receiver'
            ]
            config = Config()
示例#8
0
#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Date    : 2018-01-31 18:10:12
# @Author  : huxiansheng ([email protected])
# @Link    : http://example.org
# @Version : $Id$

import time
import os
from System_setting.Logger import Logger
from System_setting.Root_directory import Root_xpath
from Browser_statr.Driver_statr import Load_drive

#实例化日志类
logger = Logger(logger='Screenhorts').getlog()


class Screen(Load_drive):
    def get_report_path(self):
        root = Root_xpath()
        root_path = root.get_root_path()
        Screen_path = root_path + '/Data/Screenshots'
        return Screen_path

    def get_windows_img(self, screen_title):
        Screen_path = self.get_report_path()
        # 获取系统当前时间
        month = time.strftime("%m", time.localtime(time.time()))
        day = time.strftime("%d", time.localtime(time.time()))
        Screen_name = time.strftime("%H_%M_%S", time.localtime(time.time()))
        Screen_path = Screen_path + r'/' + month + '月' + r'/' + day + '日'
示例#9
0
#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Date    : 2018-02-02 11:20:44
# @Author  : Your Name ([email protected])
# @Link    : http://example.org
# @Version : $Id$

import os
import pymysql
import traceback
from System_setting.Config import Config
from System_setting.Logger import Logger

logger = Logger(logger='Mysql').getlog()


class Mysql():

    def __init__(self):
        cnf = Config()
        self.db_data = cnf.config_data('DB',['Alitest'],['ip','user','password','port','db'])
        print(self.db_data)


    def Connect_db(self):
        # 打开数据库连接
        try:
            self.db = pymysql.connect(host=self.db_data[0],user=self.db_data[1],passwd=self.db_data[2],db=self.db_data[4])
            # 使用cursor()方法获取操作游标
            self.cursor = self.db.cursor()
            logger.info('数据库【%s】连接成功'%self.db_data[4])
示例#10
0
#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Author  : huxiansheng ([email protected])

import time
import inspect
from System_setting.Logger import Logger
logger = Logger(logger='Decorator').getlog()


class Decorator():
    #运行时间
    def Running_time(text=None):
        def _Running_time(func):
            def wrapper(*args, **kwargs):  #匹配任何参数
                logger.info('方法【%s】开始...' % func.__name__)
                statr_time = time.time()
                data = func(*args, **kwargs)
                end_time = time.time()
                runtime = (end_time - statr_time)
                logger.info('方法【%s】结束,共消耗时长为%.2f秒' % (func.__name__, runtime))
                return data

            return wrapper

        return _Running_time
示例#11
0
#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Date    : 2018-01-31 19:11:01
# @Author  : Your Name ([email protected])
# @Link    : http://example.org
# @Version : $Id$

import os
import unittest
from System_setting.Driver import Driver
from System_setting.Logger import Logger
import time

logger = Logger(logger='quit_browser').getlog()


#驱动加载
class Load_drive(unittest.TestCase):

    Driver_ = Driver()
    browser = Driver_.open_browser()

    def setUp(self):
        # 测试固件的setUp()的代码,主要是测试的前提准备工作
        pass

    def tearDown(self):
        # 测试固件的tearDown()的代码,这里基本上都是关闭浏览器
        # self.browser.quit()
        pass
示例#12
0
#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Date    : 2018-01-31 18:33:22
# @Author  : Your Name ([email protected])
# @Link    : http://example.org
# @Version : $Id$

import os
import configparser
from System_setting.Logger import Logger
from System_setting.Root_directory import Root_xpath

logger = Logger(logger='Config').getlog()


class Config():
    def __init__(self):
        self.config = configparser.ConfigParser()
        xpath = Root_xpath()
        self.xpath = xpath.get_root_path()

    '''
        参数
        config_name  配置文件名称 类型为str
        config_title 配置文件组名 类型为list
        config_value 配置文件键名 类型为list

        返回值
        False 获取配置文件失败,值为空
        values 配置文件信息
    '''