Exemple #1
0
    def __init__(self):
        '''从config.ini提取数据'''
        report_address = ReadConfig.get_config("DATABASE", "report_address")
        self.project_name = ReadConfig.get_config('TABLEDATA', 'project_name')
        self.version = ReadConfig.get_config('TABLEDATA', 'version')
        self.scripting_language = ReadConfig.get_config(
            'TABLEDATA', 'Scripting_language')
        self.internet = ReadConfig.get_config('TABLEDATA', 'internet')

        self.now = time.strftime("%Y-%m-%d-%H-%M-%S ",
                                 time.localtime(time.time()))
        self.repor_tddress = report_address + self.now + 'report.xlsx'
        self.workbook = xlsxwriter.Workbook(self.repor_tddress)  # 生成的报告的路径
        self.worksheet = self.workbook.add_worksheet("测试总况")
        self.worksheet2 = self.workbook.add_worksheet("测试详情")
Exemple #2
0
 def __init__(self):
     '''从config.ini读取数据'''
     # 获取项目绝对路径
     report_address = os.path.abspath('../testReport/report/') + '\\'
     # report_address=ReadConfig.get_config("DATABASE","report_address")
     self.project_name = ReadConfig.get_config("TABLEDATA", "project_name")
     self.version = ReadConfig.get_config("TABLEDATA", "version")
     self.scripting_language = ReadConfig.get_config(
         "TABLEDATA", "scripting_language")
     self.internet = ReadConfig.get_config("TABLEDATA", "internet")
     self.now = time.strftime("%Y-%m-%d-%H-%M-%S ",
                              time.localtime(time.time()))
     self.report = report_address + self.now + 'report.xlsx'
     self.workbook = xlsxwriter.Workbook(self.report)  #生成测试报告
     self.worksheet = self.workbook.add_worksheet("测试总况")
     self.worksheet2 = self.workbook.add_worksheet("测试详情")
Exemple #3
0
    def __init__(self):
        '''从配置文件中读取收发邮箱信息'''
        self.mail_host = ReadConfig.get_config("EMAIL", "mail_host")
        self.mail_user = ReadConfig.get_config("EMAIL", "mail_user")
        self.mail_pass = ReadConfig.get_config("EMAIL", "mail_pass")
        self.mail_port = ReadConfig.get_config("EMAIL", "mail_port")

        self.receiver=ReadConfig.get_config("EMAIL", "receiver")
        self.subject=ReadConfig.get_config("EMAIL","subject")
        self.content=ReadConfig.get_config("EMAIL","content")
        self.on_off=ReadConfig.get_config("EMAIL","on_off")
Exemple #4
0
 def __init__(self):
     '''
     :param filePath: excel路径
     :param sheel: 索引
     '''
     read = ReadConfig()
     self.filePath = read.get_config('EXCEL', 'filePath')
     self.sheel = int(read.get_config('EXCEL', 'sheel'))
     # 打开excel文件读取数据,创建文件对象赋值给workile
     self.workfile = xlrd.open_workbook(self.filePath)
     # 获取一个工作表(sheet)创建一个表格对象赋值给变量data
     self.data = self.workfile.sheets()[self.sheel]
     # 获取第一行作为key值
     self.keys = self.data.row_values(0)
     # print(self.keys)
     # 获取总行数
     self.rowNum = self.data.nrows
     # print(self.rowNum)
     # 获取总列数
     self.colNum = self.data.ncols
Exemple #5
0
 def __init__(self):
     '''打开工作表'''
     # 从配置文件获取测试用例地址
     data_address = ReadConfig.get_config("DATABASE", "data_address")
     # data_address=os.path.abspath('../data/buyerdata1.xlsx')
     # 从excel提取测试用例信息
     workbook = xlrd.open_workbook(data_address)
     self.table = workbook.sheets()[0]
     # 获取第一行作为key值
     self.keys = self.table.row_values(0)
     # 获取总行数
     self.RowNum = self.table.nrows
     # 获取总列数
     self.colNum = self.table.ncols
Exemple #6
0
 def __init__(self):
     # 从config.ini中提取数据
     self.login_path = ReadConfig.get_config("DATABASE", "login_path")
     self.hostname = ReadConfig.get_config("HTTP", "host")
     shop_id = ReadConfig.get_config("DATABASE", "shop_id")
     mobile_no = ReadConfig.get_config("DATABASE", "mobile_no")
     openid = ReadConfig.get_config("DATABASE", "openid")
     union_id = ReadConfig.get_config("DATABASE", "union_id")
     self.code = ReadConfig.get_config("DATABASE", "code")
     self.data = {
         "shop_id": shop_id,
         "mobile_no": mobile_no,
         "openid": openid,
         "union_id": union_id
     }
Exemple #7
0
import json
import requests
from readConfig import ReadConfig
from log import Log

ReadConfig = ReadConfig()
log = Log()
session = requests.Session()
host = ReadConfig.get_config("HTTP", "host")


def userLogin():
    url = '/api/v1/user/auth/login/create'
    params = {
        'remember': '1',
        'username': '******',
        'password': 123456
    }
    param_str = json.dumps(params)
    re = session.post(host + url, data=params)
    log.info("用户登录成功!")
    # print(re.json())
    # result = requests.get('https://m.test.wemartx.com/wm/api/v1/user/auth/login/create')


def shopLogin():
    # session = requests.session()
    url = '/api/v1/channel/shop/auth/login/create'
    params = {'shop_id': 7}
    param_str = json.dumps(params)
    re = session.post(host + url, data=params)
Exemple #8
0
class Action(object):
    def __init__(self, driver):
        self.config = ReadConfig()
        self.driver = driver
        self.baseurl = self.config.get_config('HTTP', 'host')
        self.log = Log()

    def _open(self):
        self.driver.get(self.baseurl)
        self.driver.maximize_window()

    '''
        定位元素,参数locator为元祖类型
        locator = ('id','xxx')
        driver.find_element(locator)
    

    '''

    # def find_element(self,timeout=20,*loc):
    #     try:
    #         WebDriverWait(self.driver,timeout).until(lambda driver:driver.find_element(*loc).is_displayed())
    #         return self.driver.find_element(*loc)
    #     except:
    #         print("%s 页面中未能找到 %s 元素" % (self,loc))
    def find_element(self, loc, timeout=20):
        try:
            WebDriverWait(self.driver, timeout,
                          0.2).until(EC.presence_of_element_located(loc))
            return self.driver.find_element(loc[0], loc[1])
        except:
            self.log.debug('元素%s未找到!' % (loc[1]))

    def find_elements(self, loc, timeout=20):
        try:
            WebDriverWait(self.driver, timeout,
                          0.2).until(EC.presence_of_element_located(loc))
            return self.driver.find_elements(loc[0], loc[1])
        except:
            self.log.debug('元素%s未找到!' % (loc[1]))

    def click(self, loc, timeout=30):
        ele = self.find_element(loc, timeout)
        try:
            ele.click()
        except Exception as e:
            print(e)
            self.js_click(ele)

        # except:
        #     print('元素%s点击失败! ' % (loc[1]))

    def send_keys(self,
                  loc,
                  vaule,
                  time=20,
                  clear_first=True,
                  enter_end=False,
                  click_first=False):
        try:
            ele = self.find_element(loc, time)
            if click_first:
                self.js_click(ele)
            if clear_first:
                # self.sleep(5)
                # ele.clear()
                # self.sleep(5)
                ele.send_keys(Keys.CONTROL + 'a')
                ele.send_keys(Keys.BACKSPACE)
            ele.send_keys(vaule)
            if enter_end:
                ele.send_keys(Keys.ENTER)
        except AttributeError:
            self.log.debug('元素%s输入文本失败!' % (loc[1]))

    def get_text(self, loc, time=20):
        try:
            ele = self.find_element(loc, time)
            return ele.text
        except:
            self.log.debug('元素%s未获取到文本!' % (loc[1]))

    def get_pagesource(self):
        return self.driver.page_source

    def is_element_exit(self, loc, timeout=20):
        '''判断元素是否存在'''
        try:
            WebDriverWait(self.driver, timeout,
                          0.2).until(EC.presence_of_element_located(loc))
            return True
        except:
            return False

    def highlight(self, element):
        '''高亮元素'''
        self.driver.execute_script(
            "arguments[0].setAttribute('style', arguments[1]);", element,
            "border: 2px solid red;")
        time.sleep(3)

    def js_click(self, ele):
        '''js注入点击事件'''
        # ele = self.find_element(loc)

        # element = self.driver.find_element(loc)
        self.driver.execute_script("arguments[0].click();", ele)

    # def js_clear(self,ele):
    #     # ele.sendKeys(Keys.chord(Keys.CONTROL, "a"))
    #     # ele.sendKeys(Keys.DELETE)
    #     ele.send_keys(Keys.CONTROL, "a")
    #     ele.sendKeys(Keys.DELETE)

    def mouse_hover(self, element):
        '''鼠标悬停'''
        ActionChains(self.driver).move_to_element(element)
        time.sleep(3)

    def mouse_double_click(self, element):
        '''鼠标双击'''
        ActionChains(self.driver).double_click(element)
        time.sleep(3)

    def mouse_release(self):
        '''释放鼠标'''
        ActionChains(self.driver).release()

    def scroll_into_view(self, loc):
        '''滚动直到元素可见'''
        ele = self.driver.find_element(loc[0], loc[1])
        self.driver.execute_script("arguments[0].scrollIntoView();", ele)

    def get_current_time(self):
        '''获取当前时间'''

        curTime = time.strftime("%Y-%m-%d %H:%M:%S",
                                time.localtime(time.time()))
        return curTime

    def move_time(self, startTime, move_unit, move_value):
        '''日期移动'''
        re_time = ''
        move_int = int(move_value)
        # start_time = datetime.datetime.now()
        start_time = datetime.datetime.strptime(startTime, "%Y-%m-%d %H:%M:%S")
        if move_unit == 'second':
            re_time = (start_time + datetime.timedelta(seconds=move_int)
                       ).strftime("%Y-%m-%d %H:%M:%S")
        elif move_unit == 'minate':
            re_time = (start_time + datetime.timedelta(minutes=move_int)
                       ).strftime("%Y-%m-%d %H:%M:%S")
        elif move_unit == 'hour':
            re_time = (start_time + datetime.timedelta(hours=move_int)
                       ).strftime("%Y-%m-%d %H:%M:%S")
        elif move_unit == 'day':
            re_time = (start_time + datetime.timedelta(days=move_int)
                       ).strftime("%Y-%m-%d %H:%M:%S")
        elif move_unit == 'week':
            re_time = (start_time + datetime.timedelta(weeks=move_int)
                       ).strftime("%Y-%m-%d %H:%M:%S")
        return re_time

    def sleep(self, s):
        time.sleep(s)
Exemple #9
0
 def getBuyertoken(self):
     '''获取登录的token'''
     token = ReadConfig.get_config("DATABASE", "token")
     print(token)
     return token