Beispiel #1
0
 def  browse_photo_add_photo_path_sift_demo(self, photo_path, photo_name, screen_capture):
     # 点击浏览按钮
     self.click_photo_add_browse_btn()
     time.sleep(2)
     # 实例化图像匹配类
     IM = ImageMatchBySift()
     # 实例化控件操作类
     AE = ActionExe()
     # 读入数据
     ex = ExcelUtil(excel_path=r"D:\pythonWork\autoTest\data\picturedemo.xls")
     # 获取excel行数
     rows = ex.get_lines()
     # 循环获取excel模板图数据
     for row in range(0, rows):
         # 获取模板图
         function_photo = ex.get_col_value(row, 2)
         # 获取模板图处执行方法
         operate_method = ex.get_col_value(row, 3)
         # 截取当前页面
         im = ImageGrab.grab()
         # 保存截取页面到固定路径
         im.save(screen_capture)
         # 引入模板匹配模块
         operate_location = IM.image_match_by_sift(function_photo, screen_capture)
         operate_location_x = int(operate_location[0])
         operate_location_y = int(operate_location[1])
         if operate_location != None:
             # 鼠标定位到识别元素位置
             win32api.SetCursorPos([operate_location_x, operate_location_y])
             # 鼠标左击
             win32api.mouse_event(win32con.MOUSEEVENTF_LEFTUP | win32con.MOUSEEVENTF_LEFTDOWN, 0, 0, 0, 0)
             # 鼠标右击
             # win32api.mouse_event(win32con.MOUSEEVENTF_RIGHTUP | win32con.MOUSEEVENTF_RIGHTDOWN, 0, 0, 0, 0)
             time.sleep(3)
             """if row == 0:
 def __init__(self, file_name, sheet_name=None, sheet_index=0):
     self.requestUtil = RequestUtil()
     self.excelUtil = ExcelUtil(file_name, sheet_name, sheet_index)
     self.dataUtil = DataUtil()
     self.assetUtil = AssertUtil()
     self.logger = Logger(self.__class__.__name__).get_logger_with_level()
     self.cookie_dict = {}
Beispiel #3
0
class GetData:
    def __init__(self):
        self.excel = ExcelUtil("/Users/qing.li/Desktop/thrid_case.xlsx")

    def get_excel_data(self):
        # 去掉表头
        result = self.excel.get_data()[1:]
        return result
Beispiel #4
0
 def browse_photo_add_photo_path(self, photo_path, photo_name, screen_capture):
     # 点击浏览按钮
     self.click_photo_add_browse_btn()
     time.sleep(2)
     # 实例化图像匹配类
     IM = ImageMatch()
     # 实例化控件操作类
     AE = ActionExecute()
     # 截取当前页面
     im = ImageGrab.grab()
     # 保存截取页面到固定路径
     im.save(screen_capture)
     # 读入数据
     ex = ExcelUtil(excel_path=r"D:\pythonWork\autoTest\data\examinationPhotoImageMatchData.xls")
     # 获取excel行数
     rows = ex.get_lines()
     # 循环获取excel模板图数据
     for row in range(0, rows):
         # 获取模板图
         function_photo = ex.get_col_value(row, 2)
         # 获取模板图处执行方法
         operate_method = ex.get_col_value(row, 3)
         # 引入模板匹配模块
         operate_location = IM.ImageMatch(function_photo, screen_capture)
         operate_location_x = int(operate_location[0])
         operate_location_y = int(operate_location[1])
         if operate_location != None:
             # 鼠标定位到识别元素位置
             win32api.SetCursorPos([operate_location_x, operate_location_y])
             # 鼠标左击
             win32api.mouse_event(win32con.MOUSEEVENTF_LEFTUP | win32con.MOUSEEVENTF_LEFTDOWN, 0, 0, 0, 0)
             time.sleep(2)
             # 鼠标右击
             # win32api.mouse_event(win32con.MOUSEEVENTF_RIGHTUP | win32con.MOUSEEVENTF_RIGHTDOWN, 0, 0, 0, 0)
             # 将内容复制到剪切板里
             AE.add_to_clipboard(photo_name)
             # 获取剪切板的内容
             # AE.get_clipboard()
             # 执行ctrl+v
             if row == 0:
                 AE.paste_method()
             time.sleep(3)
Beispiel #5
0
 def run_main(self):
     file_path = os.path.join(os.getcwd() + '/config/keyword.xlsx')
     handle_excl = ExcelUtil(excl_path=file_path)
     case_lines = handle_excl.get_lines()
     if case_lines:
         for i in range(1, case_lines):
             is_run = handle_excl.get_col_value(i, 3)
             if is_run:
                 method = handle_excl.get_col_value(i, 4)
                 send_value = handle_excl.get_col_value(i, 5)
                 handle_value = handle_excl.get_col_value(i, 6)
                 self.run_method(method, send_value, handle_value)
Beispiel #6
0
class DdtForgetFindbyTelCase(unittest.TestCase):
    @classmethod
    def setUpClass(cls):
        cls.driver = webdriver.Chrome()
        cls.forget_tel_bussiness = ForgetFindByTelBussiness(cls.driver)

    def setUp(self):
        self.driver.get("https://passport.isoftstone.com/forgot")

    '''
	@ddt.data(
		['','2','3','user_name_null','员工域名 字段是必需的。'],
		['1','','3','user_tel_null','绑定手机 字段是必需的。'],
		['1','2','3','code_error','验证码输入有误']
		)

	@ddt.unpack
	def test01_forget_username_null(self,user_name,user_tel,code_text,assertCode,assertText):
		self.assertTrue(self.forget_tel_bussiness.forget_function(user_name,user_tel,code_text,assertCode,assertText))
	'''
    data = ExcelUtil().table_list()

    @ddt.data(*data)
    def test01_forget_username_null(self, data):
        user_name, user_tel, code_text, assertCode, assertText = data
        self.assertTrue(
            self.forget_tel_bussiness.forget_function(user_name, user_tel,
                                                      code_text, assertCode,
                                                      assertText))

    def tearDown(self):
        pass

    @classmethod
    def tearDownClass(cls):
        cls.driver.close()
Beispiel #7
0
sys.path.append('D:/pythonWork/autoTest')
from time import sleep, time
from case.login_keyword_cases import LoginKeywordCases
import ddt
import unittest
import os
#import HTMLTestRunner
#from util.htmltestrunner.HTMLTestRunner import HTMLTestRunner
from util.HTMLTestRunner_PY3.HTMLTestRunner_PY3 import HTMLTestRunner
from selenium import webdriver
from business.examination_place_business import ExaminationPlaceBusiness
from util.excel_util import ExcelUtil
from util.table_util import TableUtil

# 获取数据
ex = ExcelUtil(
    excel_path=r"D:\pythonWork\autoTest\data\examinationPlaceAddDdtData.xls")
data = ex.get_data()


# 测试类前加修饰@ddt.ddt
@ddt.ddt
# 考点编号,考点名称,考点地址,考点负责人,负责人联系电话
class ExaminationPlaceDeleteDdtCase(unittest.TestCase):
    # 所有case执行之前的装饰器---前置条件
    @classmethod
    def setUpClass(cls):
        print('所有case执行的前置条件')
        lkc = LoginKeywordCases()
        lkc.run_keyword_excel_cases()
        cls.driver = getattr(getattr(lkc, 'lk'), 'driver')
        cls.driver.maximize_window()
 def run_main(self):
     self.action_method = ActionMethod()
     handle_excel = ExcelUtil('D:/Imooc_project/config/keyword.xls')
     # get 行数
     case_lines = handle_excel.get_lines()
     if case_lines:
         # for循环,遍历每一行
         for i in range(1, case_lines):
             col_value = handle_excel.get_col_value(i, 3)
             # if 是否执行
             if col_value == 'yes':
                 method = handle_excel.get_col_value(i, 4)  # 操作方法
                 send_value = handle_excel.get_col_value(i, 5)  # 输入值
                 handle_value = handle_excel.get_col_value(i, 6)  # 操作元素
                 except_result_method = handle_excel.get_col_value(
                     i, 7)  # 获取预期结果的方法
                 except_result = handle_excel.get_col_value(i,
                                                            8)  # 获取预期结果的值
                 self.run_method(method, send_value, handle_value)
                 if except_result != '':
                     except_value = self.get_except_result_value(
                         except_result)  # 获取预期结果的值(列表)
                     if except_value[0] == 'text':
                         result = self.run_method(except_result_method)
                         if except_value[1] in result:
                             handle_excel.write_value(i, 'pass')
                         else:
                             handle_excel.write_value(i, 'fail')
                     elif except_value[0] == 'element':
                         result = self.run_method(except_result_method,
                                                  except_value[1])
                         if result:
                             handle_excel.write_value(i, 'pass')
                         else:
                             handle_excel.write_value(i, 'fail')
 def run_main(self):
     self.action_method = ActionMethod()
     handle_excel = ExcelUtil(
         'C:\\Users\\xiazh\\PycharmProjects\\Imooc_selenium\\config\\keyword.xls'
     )
     case_lines = handle_excel.get_lines()
     if case_lines:
         for i in range(1, case_lines):
             is_run = handle_excel.get_col_value(i, 3)
             if is_run == 'yes':
                 method = handle_excel.get_col_value(i, 4)
                 send_value = handle_excel.get_col_value(i, 5)
                 handle_value = handle_excel.get_col_value(i, 6)
                 expect_result_method = handle_excel.get_col_value(i, 7)
                 expect_result = handle_excel.get_col_value(i, 8)
                 # ''而不是None
                 # if send_value:
                 self.run_method(method, send_value, handle_value)
                 if expect_result != '':
                     expect_value = self.get_expect_result_value(
                         expect_result)
                     if expect_value[0] == 'text':
                         result = self.run_method(expect_result_method)
                         if expect_value[1] in result:
                             handle_excel.write_value(i, 'pass')
                         else:
                             handle_excel.write_value(i, 'fail')
                     elif expect_value[0] == 'element':
                         result = self.run_method(expect_result_method,
                                                  expect_value[1])
                         if result:
                             handle_excel.write_value(i, 'pass')
                         else:
                             handle_excel.write_value(i, 'fail')
                     else:
                         print('没有else')
                 else:
                     print('预期结果为空')
from business.loginbusiness import LoginBusiness
from business.add_munberbusiness import AddMenBusiness
from selenium import webdriver
import time
import ddt
import unittest
import os
import HTMLTestRunner
from util.excel_util import ExcelUtil
amex = ExcelUtil('D:\Kuban\config\mendata.xls')
login_data = amex.get_data()


@ddt.ddt
class AddMen(unittest.TestCase):
    def setUp(self):
        self.driver = webdriver.Chrome()
        # self.driver.maximize_window()
        self.driver.get('https://mgmt.ent-dev.kuban.io/')

        self.amb = AddMenBusiness(self.driver)
        self.lb = LoginBusiness(self.driver)

    def tearDown(self):
        for method_name, error in self._outcome.errors:
            if error:
                case_name = self._testMethodName
                file_path = os.path.abspath(
                    os.path.dirname(os.getcwd()) + '\image' + '\pic_' +
                    case_name + '.png')
                self.driver.save_screenshot(file_path)
Beispiel #11
0
#import HTMLTestRunner
#from util.HTMLTestRunner_PY3.HTMLTestRunner_PY3 import HTMLTestRunner
import sys
sys.path.append('D:/pythonWork/autoTest')
from util.htmltestrunner.HTMLTestRunner import HTMLTestRunner
import unittest
from util.excel_util import ExcelUtil
from case.examination_envir_ddt_case import ExaminationEnvirDdtCase
from case.examination_machine_ddt_case import ExaminationMachineDdtCase
from case.examination_photo_ddt_case import ExaminationPhotoDdtCase

# 获取数据
ex = ExcelUtil(excel_path=r"D:\pythonWork\autoTest\data\automakesuite.xls")


class AutoMakeSuite():
    def make_suite(self):
        # 获取列表测试用例个数
        l1 = ex.get_data()
        rows = ex.get_lines()
        result = []
        for i in range(0, rows):
            a = eval(ex.get_col_value(i, 2))
            examination = unittest.makeSuite(a)
            result.append(examination)
        return result


if __name__ == "__main__":
    #runner = unittest.TextTestRunner()
    AMS = AutoMakeSuite()
Beispiel #12
0
 def run_main(self):
     self.action_method = ActionMethod('firefox')
     handle_excel = ExcelUtil('F:/Python/5itest_po_3/config/keywords-1.xls')
     case_lines = handle_excel.get_lines()
     for i in range(1, case_lines):
         is_run = handle_excel.get_value(i, 3)
         if is_run == 'yes':
             method = handle_excel.get_value(i, 4)
             send_value = handle_excel.get_value(i, 5)
             get_element = handle_excel.get_value(i, 6)
             except_result_method = handle_excel.get_value(i, 7)
             except_result = handle_excel.get_value(i, 8)
             self.run_method(method, get_element, send_value)
             if except_result:
                 except_value = self.get_except_result_value(except_result)
                 if except_value[0] == 'text':
                     result = self.run_method(except_result_method)
                     if except_value[1] in result:
                         handle_excel.write_value(i, 'pass')
                     else:
                         handle_excel.write_value(i, 'fail')
                 elif except_value[0] == 'element':
                     result = self.run_method(except_result_method,
                                              except_value[1])
                     if result:
                         handle_excel.write_value(i, 'pass')
                     else:
                         handle_excel.write_value(i, 'fail')
         else:
             pass
Beispiel #13
0
    def run_main(self):
        self.action_method = ActionMethod()
        handle_excel = ExcelUtil()
        case_lines = handle_excel.get_lines()
        if case_lines:
            for i in range(1, case_lines):
                is_run = handle_excel.get_col_value(i, 3)
                if is_run == 'yes':
                    method = handle_excel.get_col_value(i, 4)
                    send_value = handle_excel.get_col_value(i, 5)
                    handle_value = handle_excel.get_col_value(i, 6)
                    except_result_method = handle_excel.get_col_value(i, 7)
                    except_result = handle_excel.get_col_value(i, 8)

                    self.run_method(method, send_value, handle_value)
                    if except_result != '':
                        except_value = self.get_expect_result_value(
                            except_result)
                        if except_value[0] == 'text':
                            result = self.run_method(except_result_method)
                            if except_value[1] in result:
                                handle_excel.write_val(i, 'pass')
                            else:
                                handle_excel.write_val(i, 'fail')
                        elif except_value[0] == 'element':
                            self.run_method(except_result_method,
                                            except_value[1])
                            if result:
                                handle_excel.write_val(i, 'pass')
                            else:
                                handle_excel.write_val(i, 'fail')

                    else:
                        print('预期结果为空')
Beispiel #14
0
'''
This is a simple case for Data-Driven Test
'''
import ddt
import unittest
import xlrd
import sys
sys.path.append("C:\\work\\vcPyTest\\WebTest")
from util.excel_util import ExcelUtil

ex = ExcelUtil()
testData = ex.get_data()


@ddt.ddt
class DataTest(unittest.TestCase):
    @classmethod
    def setUpClass(cls):
        print("===============Start to Run ! =============")

    @classmethod
    def tearDownClass(cls):
        print("=============== End the run ! ==============")

    def setUp(self):
        print("This is the setUp case")

    def tearDown(self):
        print("This is the teardown case")

    @ddt.data(*testData)
Beispiel #15
0
class FirstDdtCase(unittest.TestCase):
    ex = ExcelUtil()
    data = ex.get_data()

    # 某一条case的前置条件, 装饰漆
    code_file = "/Users/qing.li/PycharmProjects/hm/selenium_/imooc/image/code.png"

    @classmethod
    def setUpClass(cls):
        # cls.code_file = "/Users/qing.li/PycharmProjects/hm/selenium_/imooc/image/code.png"
        print("所有case执行之前的前置")

    @classmethod
    def tearDownClass(cls):
        print("所有case执行之后的后置")

    def setUp(self):
        print("每条case执行之前")
        self.file_path = "/Users/qing.li/PycharmProjects/hm/selenium_/imooc/image/imooc_code_%s.png" % (
            time.time())
        self.driver = webdriver.Chrome()
        self.driver.get("http://www.5itest.cn/register")
        self.driver.maximize_window()
        self.register = RegisterBusiness(self.driver)
        # self.register_function = RegisterFunction(self.driver, self.file_path)
        self.register_code = GetCode(self.driver, self.file_path)

    def tearDown(self):
        print("每条case执行之后")
        # py2看case有没有异常
        # if sys.exc_info()[0]:
        #     self.driver.save_screenshot()
        # py3中使用_outcome.errors, self._outcome.errors结果是一个list
        print(self._outcome.errors)
        for method_name, error in self._outcome.errors:
            if error:
                case_name = self._testMethodName
                error_path = "/Users/qing.li/PycharmProjects/hm/selenium_/imooc/image/imooc_%s_%s.png" % (
                    case_name, time.time())
                self.driver.save_screenshot(error_path)

        self.driver.close()

    # @ddt.data(
    #     ['email', 'user11188', '111111', code_file, "register_email_error", "请输入有效的电子邮件地址"],
    #     ['email@', 'user11188', '111111', code_file, "register_email_error", "请输入有效的电子邮件地址"],
    #     ['*****@*****.**', 'user1188', '911111', code_file, "register_email_error", "请输入有效的电子邮件地址"]
    #
    # )
    # @ddt.unpack
    # case名称尽量见名知意
    # def test_register_error(self, email, username, password, code_file, assert_code, assert_text):
    #     # 此方法应该封装在handle中
    #     # if not self.register.login_email_error('email', 'user11188', '111111', 'test1'):
    #     #     error_path = "/Users/qing.li/PycharmProjects/hm/selenium_/imooc/image/imooc_email_error_%s.png" % (time.time())
    #     #     self.driver.save_screenshot(error_path)
    #     # AssertionError 通过assert判断是否为error
    #     email_error = self.register.register_function(email, username, password, code_file, assert_code, assert_text)
    #     self.assertTrue(email_error, "邮箱用例")

    @ddt.data(*data)
    def test_register_error(self, data):
        email, username, password, code, assert_code, assert_text = data
        # 此方法应该封装在handle中
        # if not self.register.login_email_error('email', 'user11188', '111111', 'test1'):
        #     error_path = "/Users/qing.li/PycharmProjects/hm/selenium_/imooc/image/imooc_email_error_%s.png" % (time.time())
        #     self.driver.save_screenshot(error_path)
        # AssertionError 通过assert判断是否为error
        email_error = self.register.register_function(email, username,
                                                      password, self.code_file,
                                                      assert_code, assert_text)
        self.assertTrue(email_error, "邮箱用例")
from business.Staff_book_meeting_business import StaffBookMeetingBusiness
from business.loginbusiness import LoginBusiness
from selenium import webdriver
from util.excel_util import ExcelUtil
import time
import ddt
import unittest
import os
import HTMLTestRunner
ex = ExcelUtil('D:\Kuban\config\staffbookroom.xls')
data = ex.get_data()


@ddt.ddt
class StaffBookMeeting(unittest.TestCase):
    def setUp(self):
        self.driver = webdriver.Chrome()
        self.driver.get('https://mgmt.ent-dev.kuban.io/')
        self.smb = StaffBookMeetingBusiness(self.driver)
        self.lb = LoginBusiness(self.driver)

    def tearDown(self):
        for method_name, error in self._outcome.errors:
            if error:
                case_name = self._testMethodName
                file_path = os.path.abspath(
                    os.path.dirname(os.getcwd()) + '\image' + '\pic_' +
                    case_name + '.png')
                self.driver.save_screenshot(file_path)
        self.driver.close()
Beispiel #17
0
 def export_success(self):
     #self.handle.export()
     #获取导出文件信息
     ex = ExcelUtil("C:\\Users\\sunH\\Downloads\\待提交_20191206.xls")
     value = ex.get_data()
     return value
Beispiel #18
0
# _*_coding:utf-8_*_
# 多行注释快捷键 Ctrl+/
# 选中代码块 tab/shift+tab 缩进/缩出代码块4个空格
"""
__title__ = ''
__author__ = 'chunhua.huang'
__mtime__ = '2018/12/18'

"""
import ddt
import unittest
from util.excel_util import ExcelUtil

ex = ExcelUtil(r'D:\F\pyworkspace\SeleniumPython\config\DDTtestdata.xls')
data = ex.get_data()
print(data)


@ddt.ddt
class DataTest(unittest.TestCase):
    def setUp(self):
        print('这是setup')

    def tearDown(self):
        print('这是teardown')

    #@ddt.data([1,2],[1,3])

    @ddt.data(*data)
    def test_add(self, data):
        a, b = data
Beispiel #19
0
from business.loginbusiness import LoginBusiness
from business.location_admin_add_staff_business import LocationAdminAddStaffBusiness
from selenium import webdriver
from util.excel_util import ExcelUtil
import ddt
import time
import unittest
import os
import HTMLTestRunner

ex = ExcelUtil('D:\Kuban\config\staffdata.xls')
staff_data = ex.get_data()


@ddt.ddt
class LocationAdminAddStaff(unittest.TestCase):
    def setUp(self) -> None:
        self.driver = webdriver.Chrome()
        self.driver.get('https://mgmt.ent-dev.kuban.io/')
        self.lab = LocationAdminAddStaffBusiness(self.driver)
        self.lb = LoginBusiness(self.driver)

    def tearDown(self) -> None:
        for method_name, error in self._outcome.errors:
            if error:
                case_name = self._testMethodName
                file_path = os.path.abspath(
                    os.path.dirname(os.getcwd()) + '\image' + '\pic_' +
                    case_name + '.png')
                self.driver.save_screenshot(file_path)
        self.driver.close()
    def run_keyword_excel_cases(self):

        self.lk = LoginKeyword()
        self.excel_path = r'D:\pythonWork\autoTest\data\loginKeyWord.xls'
        handle_excel = ExcelUtil(self.excel_path)
        # 获取 excel 关键词测试用例的条数
        cases_numbers = handle_excel.get_lines()
        actual_case_numbers = int(cases_numbers) - 1
        print("注册页获取到的关键词测试的测试用例条数为:%d" % actual_case_numbers)

        # 循环行数遍历测试用例
        if cases_numbers:
            # 第 0 行是标题行不作为用例执行
            for i in range(1, cases_numbers):
                # 获取测试用例的名称
                testcase_name = handle_excel.get_col_value(i, 0)
                # 获取用例是否执行
                is_run = handle_excel.get_col_value(i, 3)
                if is_run == 'yes':
                    # 执行方法
                    keyword_method = handle_excel.get_col_value(i, 4)
                    # 输入数据
                    send_value = handle_excel.get_col_value(i, 5)
                    # 操作元素
                    operator_element = handle_excel.get_col_value(i, 6)
                    # 获得预期结果的方法
                    except_result_method = handle_excel.get_col_value(i, 7)
                    # 预期结果的值
                    except_result = handle_excel.get_col_value(i, 8)
                    # 实际结果
                    actual_result = handle_excel.get_col_value(i, 9)
                    # 反射:通过excel中的字符串执行python文件中的方法
                    self.run_keyword_method(keyword_method, operator_element, send_value)

                    if except_result != '':
                        except_value = self.get_except_result_value(except_result)
                        if except_value[0] == 'text':
                            result = self.run_keyword_method(except_result_method)
                            if except_value[1] in result:
                                handle_excel.write_value(i, 'pass')
                                print('第 %s 条用例执行预期结果,用例名称是: [%s]' % (i, testcase_name))
                            else:
                                handle_excel.write_value(i, 'fail')
                                print('第 %s 条用例执行预期结果,用例名称是: [%s]' % (i, testcase_name))
                        elif except_value[0] == 'element':
                            result = self.run_keyword_method(except_result_method, except_value[1])
                            if result:
                                handle_excel.write_value(i, 'pass')
                                print('第 %s 条用例执行预期结果,用例名称是: [%s]' % (i, testcase_name))
                            else:
                                handle_excel.write_value(i, 'fail')
                                print('第 %s 条用例执行预期结果,用例名称是: [%s]' % (i, testcase_name))
                        else:
                            print('没有else')


                    else:
                        print('第 %s 条用例不执行,用例名称是: [%s],无预期结果' % (i, testcase_name))
        else:
            print("略略略~,请检查你是否有写测试用例!")
Beispiel #21
0
import os

import sys
sys.path.append('C:\\Users\\Administrator\\PycharmProjects\\moco')
import time
import HTMLTestRunner
from selenium import webdriver

from business.register_business import RegisterBusiness
from util.excel_util import ExcelUtil
from util.read_ini import ReadIni
import ddt
import unittest

exl = ExcelUtil()
data = exl.get_data()


@ddt.ddt
class FirstDateCase(unittest.TestCase):

    @classmethod
    def setUpClass(cls):
        get_element = ReadIni()
        # cls.file_name = "C:/Users/Administrator/PycharmProjects/moco/moco_selenium/image/test001.png"
        # cls.file_name = get_element.get_value("code_image_url")

    def setUp(self):
        #self.driver = webdriver.Chrome("C:\Program Files (x86)\python\chromedriver.exe")
        self.driver = webdriver.Chrome("C:\\Users\\Administrator\\AppData\\Local\\Google\\Chrome\\Application"
                                       "\\chromedriver.exe")
Beispiel #22
0
 def run_main(self):
     self.action_method = ActionMethod()
     handle_excel = ExcelUtil("D:\project_selenium3\config\keyword.xls")
     case_lines = handle_excel.get_lines()  #获取case表格中的行数
     if case_lines:
         for i in range(1, case_lines):  #跳过case表格中的第一行内容
             is_run = handle_excel.get_col_value(i, 3)  #获取是否执行列的值
             if is_run == 'yes':  #根据执行列是否为yes,如果是yes,则执行相应的case
                 except_result_method = handle_excel.get_col_value(
                     i, 7)  #预期结果方法值
                 except_result = handle_excel.get_col_value(i, 8)  #预期结果
                 method = handle_excel.get_col_value(i, 4)  #获取执行方法
                 send_value = handle_excel.get_col_value(i, 5)  #获取需要输入的数据
                 handle_value = handle_excel.get_col_value(i, 6)  #获取操作元素
                 self.run_method(method, send_value, handle_value)
                 if except_result != '':
                     except_value = self.get_except_result_value(
                         except_result)  #获取预期结果值
                     if except_value[0] == 'text':
                         result = self.run_method(except_result_method)
                         if except_value[1] in result:
                             handle_excel.write_value(i, 9, 'pass')
                         else:
                             handle_excel.write_value(i, 9, 'fail')
                     elif except_value[0] == 'element':
                         result = self.run_method(except_result_method,
                                                  except_value[1])
                         if result:
                             handle_excel.write_value(i, 9, 'pass')
                         else:
                             handle_excel.write_value(i, 9, 'fail')
                     else:
                         print("没有else")
                 else:
                     print("预期结果为空")
    def run_main(self):
        self.action_method = ActionMethod()
        handle_excel = ExcelUtil(
            'C:/Users/15927/Documents/SELENIUMPYTHONBASE/config/keyword.xls')
        case_lines = handle_excel.get_lines()
        if case_lines:
            for i in range(1, case_lines):
                is_run = handle_excel.get_col_value(i, 3)
                #print(is_run)
                if is_run == 'yes':
                    except_result_method = handle_excel.get_col_value(i, 7)
                    except_result = handle_excel.get_col_value(i, 8)
                    method = handle_excel.get_col_value(i, 4)
                    send_value = handle_excel.get_col_value(i, 5)
                    handle_value = handle_excel.get_col_value(i, 6)

                    #''而不是None
                    #if send_value:
                    self.run_method(method, send_value, handle_value)
                    if except_result != '':
                        except_value = self.get_except_result_value(
                            except_result)
                        if except_value[0] == 'text':
                            result = self.run_method(except_result_method)
                            #print(result)
                            if except_value[1] in result:
                                handle_excel.write_value(i, 'pass')
                            else:
                                handle_excel.write_value(i, 'fail')

                        elif except_value[0] == 'element':
                            result = self.run_method(except_result_method,
                                                     except_value[1])
                            if result:
                                handle_excel.write_value(i, 'pass')
                            else:
                                handle_excel.write_value(i, 'fail')
                        else:
                            print("没有else")
                    else:
                        print("预期结果为空")
Beispiel #24
0
from business.loginbusiness import LoginBusiness
from business.frontwaiter_invite_visitor_business import FrontWaiterInviteVisitorBusiness
from selenium import webdriver
from util.excel_util import ExcelUtil
import ddt
import time
import unittest
import os
import HTMLTestRunner

ex = ExcelUtil('D:\Kuban\config\waitervisitordata.xls')
data = ex.get_data()


@ddt.ddt
class FrontWaiterInviteVisitor(unittest.TestCase):
    def setUp(self) -> None:
        self.driver = webdriver.Chrome()
        self.driver.get('https://mgmt.ent-dev.kuban.io/')
        self.fivb = FrontWaiterInviteVisitorBusiness(self.driver)
        self.lb = LoginBusiness(self.driver)

    def tearDown(self) -> None:
        for method_name, error in self._outcome.errors:
            if error:
                case_name = self._testMethodName
                file_path = os.path.abspath(
                    os.path.dirname(os.getcwd()) + '\image' + '\pic_' +
                    case_name + '.png')
                self.driver.save_screenshot(file_path)
        self.driver.close()
Beispiel #25
0
    def run_main(self):
        self.action_method = ActionMethod()
        handle_excel = ExcelUtil(ex_path)
        # 行数を取得
        case_lines = handle_excel.get_lines()
        if case_lines:
            # 行数をループ、毎行のcaseを実行
            for i in range(1, case_lines):
                is_run = handle_excel.get_col_value(i, 3)
                # 実行するかどうか
                if is_run == 'yes':
                    # 実行方法を取得
                    method = handle_excel.get_col_value(i, 4)
                    # 入力データを取得
                    send_value = handle_excel.get_col_value(i, 5)
                    # 操作elementを取得
                    handle_value = handle_excel.get_col_value(i, 6)
                    # 予想結果を取得
                    except_result_method = handle_excel.get_col_value(i, 7)
                    # 予想結果の値
                    except_result = handle_excel.get_col_value(i, 8)
                    # except_result_method と except_resultは '' である可能性はある

                    #if send_value:
                    self.run_method(method, send_value, handle_value)
                    # もし予想結果の値が存在すれば
                    if except_result != '':
                        except_value = self.get_except_result_value(
                            except_result)
                        # もし予想結果のタイプはtext
                        if except_value[0] == 'text':
                            result = self.run_method(except_result_method)
                            if except_value[1] in result:
                                handle_excel.write_value(i, 'pass')
                            else:
                                handle_excel.write_value(i, 'fail')
                        # もし予想結果はelementであれば
                        elif except_value[0] == 'element':
                            result = self.run_method(except_result_method,
                                                     except_value[1])
                            if result:
                                handle_excel.write_value(i, 'pass')
                            else:
                                handle_excel.write_value(i, 'fail')
                        else:
                            print("no-else")
                    else:
                        print('予想結果ありません')
Beispiel #26
0
    def run_main(self):
        self.action_method = ActionMethod()
        file_path = os.path.join(os.getcwd()+'/config/keyword.xlsx')
        handle_excl = ExcelUtil(excl_path = file_path)
        # 拿到行数
        case_lines = handle_excl.get_lines()
        if case_lines:
            # 循环行数,执行每一行的case
            for i in range(1, case_lines):
                # 是否执行
                is_run = handle_excl.get_col_value(i, 3)
                if is_run:
                    # 拿到执行方法
                    method = handle_excl.get_col_value(i, 4)
                    # 输入数据
                    send_value = handle_excl.get_col_value(i, 5)
                    # 操作元素
                    handle_value = handle_excl.get_col_value(i, 6) 
                    # 预期结果
                    except_method = handle_excl.get_col_value(i, 7)
                    # 预期结果值
                    except_result = handle_excl.get_col_value(i, 8)
                    self.run_method(method, send_value, handle_value)
                    if except_result != '':
                        except_value = self.get_except_value(except_result)
                        if except_value[0] == 'text':
                            print('text的except_method------>', except_method)
                            result = self.run_method(except_method)
                            print('action_method中运行的方法名:--------->', getattr(self.action_method, except_method))
                            print('text result------->', result)
                            if except_value[1] in result:
                                handle_excl.write_value(i, 9, 'pass')
                            else:
                                handle_excl.write_value(i, 9, 'fail')
                        elif except_value[0] == 'element':
                            result = self.run_method(except_method, except_value[1])
                            print('element result------->', result)

                            if result:
                                handle_excl.write_value(i, 9, 'pass')
                            else:
                                handle_excl.write_value(i, 9, 'fail')
Beispiel #27
0
#coding=utf-8
# 邮箱 用户名 密码 验证码 错误信息定位元素  错误提示信息    实现数据驱动
import ddt
import unittest
from business.resister_business import ResisterBusiness
from selenium import webdriver
import time
import HTMLTestrunner
import os
from util.excel_util import ExcelUtil  #导入包  直接调用
ex = ExcelUtil()
data = ex.get_data()


@ddt.ddt
class FirstDdtCase(unittest.TestCase):
    def setUp(self):
        self.driver = webdriver.Chrome()
        self.driver.get("http://www.5itest.cn/register")
        # self.logger.info("this is chrome")
        self.login = ResisterBusiness(self.driver)

    def tearDown(self):
        # 后置条件
        time.sleep(2)
        #if sys.exc_info()[0]:
        # self._outcome.errors    这样的情况下拿到的是一个list    这时候一定要使用一个for循环
        #这里的method是一个类  用不用   只要判断error有没有  如果有我就使用截图
        # for method_name,error in self._outcome.errors:
        #     if error:
        #         case_name=self._testMethodName  #拿到case的名字  如果没有拿到就是使用关闭的操作
 def run_main(self):
     handle_excel = ExcelUtil(
         r'D:\F\pyworkspace\SeleniumPython\config\keyword.xls')
from handle.examination_envir_handle import ExaminationeEnvirHandle

sys.path.append('D:/pythonWork/autoTest')
from case.login_keyword_cases import LoginKeywordCases
import ddt
import unittest
import os
from business.examination_place_business import ExaminationPlaceBusiness
from business.examination_room_business import ExaminationRoomBusiness
from business.examination_envir_business import ExaminationEnvirBusiness
from util.excel_util import ExcelUtil
from util.table_util import TableUtil

# 获取数据
ex = ExcelUtil(
    excel_path=r"D:\pythonWork\autoTest\data\examinationMachineDdtCase.xls")
data = ex.get_data()


# 测试类前加修饰@ddt.ddt
@ddt.ddt
class ExaminationMachineDdtCase(unittest.TestCase):
    # 所有case执行之前的装饰器---前置条件
    @classmethod
    def setUpClass(cls):
        print('所有case执行的前置条件')
        lkc = LoginKeywordCases()
        lkc.run_keyword_excel_cases()
        cls.driver = getattr(getattr(lkc, 'lk'), 'driver')
        cls.driver.maximize_window()
        cls.EPb = ExaminationPlaceBusiness(cls.driver)
Beispiel #30
0
 def run_main(self):
     self.action_method = ActionMethod()
     handle_excel = ExcelUtil('E:\\Teacher\\Imooc\\SeleniumPython\\config\\keyword.xls')
     case_lines = handle_excel.get_lines()
     if case_lines:
         for i in range(1,case_lines):
             is_run = handle_excel.get_col_value(i,3)    # 是否执行
             if is_run == 'yes':
                 except_result_method = handle_excel.get_col_value(i,7)   # 预期结果
                 except_result = handle_excel.get_col_value(i,8)    # 实际结果
                 method = handle_excel.get_col_value(i,4)   # 执行方法
                 send_value = handle_excel.get_col_value(i,5)   # 输入的数据
                 handle_value = handle_excel.get_col_value(i,6)   # 操作元素
                 self.run_method(method,send_value,handle_value)
                 if except_result != '':
                     except_value = self.get_except_result_value(except_result)
                     if except_value[0] == 'text':
                         result = self.run_method(except_result_method)
                         if except_value[1] in result:
                             handle_excel.write_value(i,'pass')
                         else:
                             handle_excel.write_value(i,'fail')
                     elif except_value[0] == 'element':
                         result = self.run_method(except_result_method,except_value[1])
                         if result:
                             handle_excel.write_value(i,'pass')
                         else:
                             handle_excel.write_value(i,'fail')
                     else:
                         print("没有else")
                 else:
                     print('预期结果为空')