def get_session(cls): #先调用了登录,获得登录产生的session??? """ 获取具有权限的session :return: 带登录cookie的session """ import requests session = requests.session() login_url = FileUtil.get_ini_value('..\\conf\\base.ini', 'api', 'login_url') login_data = eval(FileUtil.get_ini_value('..\\conf\\base.ini', 'api', 'login_data')) session.post(login_url, login_data) return session #获取session对象;
def get_driver(cls): from selenium import webdriver try: browser = FileUtil.get_ini_value('..\\conf\\base.ini', 'ui', 'browser') #通过ini文件进行取值;得到浏览器信息,后面映射, base_url = FileUtil.get_ini_value('..\\conf\\base.ini', 'ui', 'homepage_url') #获得主页的url; 也就是登录主界面; if cls.driver is None: cls.driver = getattr(webdriver, browser)() cls.driver.implicitly_wait(5) cls.driver.maximize_window() cls.driver.get(base_url) except: cls.logger.error('浏览器对象生成错误,请检查配置文件') return cls.driver
def find_elment(cls, section, option): #键名和键值;用于下面的读取ini文件;是指定section下方所有的值; 这个option和下面的键取匹配; try: element_attr = FileUtil.get_ini_section('..\\conf\\inspector.ini',section) #元素的信息,存放在inspector.ini文件中; for element in element_attr: #循环取出每个小字典,小字典又是一个字典; if option in element.keys(): #判断所提供的参数中的 option, attr = eval(element[option]) #取出字典的键名 return cls.driver.find_element(getattr(By, attr[0]), attr[1]) #映射的方法,by,和id,和后面的值; except: #获得的参数,其实一个是查找元素的方法,一个是填入的值; return None
def find_image(cls, target): image_path = '..\\image' screen_path = os.path.join(image_path,'screen.png') #image文件下方的 screen.png文件, from PIL import ImageGrab ImageGrab.grab().save(screen_path) # 读取大图对象 import cv2 screen = cv2.imread(screen_path) # 读取小图对象 template = cv2.imread(os.path.join(image_path,target)) # 进行模板匹配,参数包括大图对象、小图对象和匹配算法 result = cv2.matchTemplate(screen, template, cv2.TM_CCOEFF_NORMED) # 获取匹配结果 min, max, min_loc, max_loc = cv2.minMaxLoc(result) similarity = FileUtil.get_ini_value('..\\conf\\base.ini', 'imagematch', 'similarity') if max < float(similarity): return -1 ,-1 x = max_loc[0] + int(template.shape[1] / 2) y = max_loc[1] + int(template.shape[0] / 2) return x, y #返回图像的中心点坐标;
def test_add_customer(self): test_info = FileUtil.get_test_info('..\\conf\\test_info.ini', 'rob', 'rob_case_api') APIUtil.assert_api(test_info)
def test_scan_barcode(self): test_info = FileUtil.get_test_info('..\\conf\\test_info.ini', 'customer', 'rob_login_api') APIUtil.assert_api(test_info)
def test_scan_barcode(self): test_info = FileUtil.get_test_info('..\\conf\\test_info.ini', 'sales', 'scan_barcode_api') APIUtil.assert_api(test_info)
def query_customer(self): test_info = FileUtil.get_test_info('..\\conf\\test_info.ini', 'sales', 'query_customer_api') APIUtil.assert_api(test_info)