示例#1
0
    def main(self):
        username = "".join(get_user_name())
        email = username + "@163.com"
        password = '******'
        answer_result = 'zhangsanfeng'

        self.send_keys("username", username)
        self.send_keys("password", password)
        self.send_keys("password2", password)
        self.send_keys("email", email)
        self.send_keys("aq_answer", answer_result)
        file_name = PathUtil.get_file_path("img/code.png")
        code_text = None
        count = 0

        while code_text is None and count <= 10:
            count += 1
            print("验证码流程开始")
            self.click("vcode_img")
            time.sleep(3)
            self.get_code_img(
                self._get_element("RegisterElement", "vcode_img"), file_name)
            code_text = get_code_text(file_name)
            print(f"第{count}次识别验证码,识别的结果为:{code_text}")
            print("验证码流程结束")
            if code_text is None:
                continue
            self.send_keys("vcode", code_text.strip())
            self.click("login_btn")
            time.sleep(5)
            self.alert_accept()

            if self.is_home_page():
                user_info = self._get_element(
                    "HomeElement", "user_info").get_attribute("text")
                if user_info == username:
                    print("登录成功")
                else:
                    print("登录失败")
                    file_path = PathUtil.get_file_path(
                        "img/fail_screenshot.png")
                    self.save_screenshot(file_path)
                break
            else:
                code_text = None
 def main(self):
     testSuite = unittest.TestSuite()
     testSuite.addTest(RegisterCase('test_register_code_error'))
     testSuite.addTest(RegisterCase('test_login_success'))
     file_path = PathUtil.get_file_path("report/RegisterReport.html")
     f = open(file_path, 'wb')
     html_test = HTMLTestRunner(stream=f,
                                title='RegisterReport',
                                description='这是一个注册页面的报告')
     html_test.run(testSuite)
示例#3
0
    def __init__(self):
        self.logger = logging.getLogger()
        self.logger.setLevel(logging.DEBUG)

        log_name = datetime.datetime.now().strftime("%Y-%m-%d") + ".log"
        log_path = PathUtil.get_file_path(f"logs/{log_name}")
        # 文件输出
        self.file_handle = logging.FileHandler(log_path, encoding='utf-8')
        formatter = logging.Formatter(
            '%(asctime)s %(filename)s %(funcName)s %(levelno)s %(levelname)s %(message)s'
        )
        self.file_handle.setFormatter(formatter)
        self.file_handle.setLevel(logging.INFO)
        self.logger.addHandler(self.file_handle)
示例#4
0
 def run_main(self):
     file_path = PathUtil.get_file_path("conf/keyword.xls")
     excel = ExcelUtil(file_path)
     rows = excel.get_lines()
     action_method = ActionMethod()
     for i in range(1, rows):
         is_run = excel.get_cell_value(i, 1)
         if is_run == 'Y':
             node_element = excel.get_cell_value(i, 3)
             exec_method = excel.get_cell_value(i, 4)
             send_value = excel.get_cell_value(i, 5)
             action_element = excel.get_cell_value(i, 6)
             except_result_method = excel.get_cell_value(i, 7)
             except_result = excel.get_cell_value(i, 8)
             self.run_method(action_method, exec_method, node_element, action_element, send_value)
             if except_result_method != '' and except_result != '':
                 result = self.exec_result_method(action_method, except_result_method)
                 if except_result in result:
                     excel.write_cell_value(i, 9, 'pass')
                 else:
                     excel.write_cell_value(i, 9, 'fail')
        for i in range(self.get_lines()):
            data.append(self.book_sheet.row_values(i))
        return data

    def get_lines(self):
        return self.book_sheet.nrows

    # 获取单元格的数据
    def get_cell_value(self, row, col):
        if self.get_lines() > row:
            return self.book_sheet.cell_value(row, col)
        else:
            return None

    # 写入数据
    def write_cell_value(self, row, col, value):
        data = xlrd.open_workbook(self.file_path)
        write_data = copy(data)
        sheet = write_data.get_sheet(self.index)
        sheet.write(row, col, value)
        write_data.save(self.file_path)


if __name__ == '__main__':
    file_path = PathUtil.get_file_path("conf/keyword.xls")
    execl = ExcelUtil(file_path)
    data = execl.get_cell_value(1, 4)
    print(data)
    # execl.write_cell_value(1, 6, "hello world")

示例#6
0
 def __init__(self, file_name=None):
     if not file_name:
         file_name = PathUtil.get_file_path("conf/element.ini")
     self.cf = self._load_ini(file_name)
示例#7
0
# coding=utf-8
from selenium import webdriver
from business.register_ddt_business import RegisterDDTBusiness
import unittest
from util.html_test_runner import HTMLTestRunner
from ddt import *
from util.excel_util import ExcelUtil
from util.path_util import PathUtil

excel_util = ExcelUtil(PathUtil.get_file_path("conf/case.xls"))
datas = excel_util.get_data()


@ddt
class RegisterDDTCase(unittest.TestCase):
    def setUp(self):
        self.driver = webdriver.Chrome()
        self.driver.get("http://www.yundama.com/index/reg")
        self.driver.maximize_window()
        self.register_business = RegisterDDTBusiness(self.driver)

    def tearDown(self):
        self.driver.close()

    @data(*datas)
    def test_register_success(self, datas):
        username, password, password2, email, answer, code, assert_text = datas
        self.assertTrue(
            self.register_business.register_main(username, password, password2,
                                                 email, answer, code,
                                                 assert_text), assert_text)
 def __init__(self, driver):
     self.driver = driver
     self.register_handle = RegisterHandle(driver)
     self.file_name = PathUtil.get_file_path("img/code.png")