예제 #1
0
 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对象;
예제 #2
0
    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
예제 #3
0
 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
예제 #4
0
    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 #返回图像的中心点坐标;
예제 #5
0
 def test_add_customer(self):
     test_info = FileUtil.get_test_info('..\\conf\\test_info.ini', 'rob',
                                        'rob_case_api')
     APIUtil.assert_api(test_info)
예제 #6
0
 def test_scan_barcode(self):
     test_info = FileUtil.get_test_info('..\\conf\\test_info.ini',
                                        'customer', 'rob_login_api')
     APIUtil.assert_api(test_info)
예제 #7
0
    def test_scan_barcode(self):

        test_info = FileUtil.get_test_info('..\\conf\\test_info.ini', 'sales',
                                           'scan_barcode_api')
        APIUtil.assert_api(test_info)
예제 #8
0
 def query_customer(self):
     test_info = FileUtil.get_test_info('..\\conf\\test_info.ini', 'sales',
                                        'query_customer_api')
     APIUtil.assert_api(test_info)