def CheckHostOnline(host): try: ht = Http(host, int(configpara.DEFAULT_TIMEOUT_TIME)) data = ht.head('').data return True except Exception, e: return False
def GetHtml(host): try: ht = Http(host, int(configpara.DEFAULT_TIMEOUT_TIME)) ret = ht.get().data return ret except Exception, e: return ""
def Check(self, path): res = False path = self._url + path code = -1 self.SetCode(code) try: ht = Http(path, int(self._sp.timeout)) code = ht.head().code except Exception, e: self.SetResult(str(e)) self.SaveDb(res) return res
class Authentication: http_object = Http() config = Configuration.global_config['user_credentials'] username = config['username'] password = config['password'] @classmethod def get_authtoken(cls): req_body = { 'user': cls.username, 'password': cls.password } response = cls.http_object.post('credentials', req_body) data = response['data'] return data['token'] @classmethod def delete_authtoken(cls, token): resource = 'credentials/' + token cls.http_object.delete(resource)
def test_menu(self): self.browser = self.param[0] self.el = Element(self.param[0]) self.imgs = [] menus = self.param[1] try: proxy = self.param[2] except IndexError: proxy = {} # 操作是否成功 assert_result = True for menu in menus: print( time.strftime("%H:%M:%S", time.localtime()) + " " + menu.get('name')) # 始终获得当前最后的窗口,所以多要多次使用 search_windows = self.browser.current_window_handle for handle in self.browser.window_handles: if handle != search_windows: self.browser.switch_to.window(handle) # 是否等待页面消失 if 'wait_disappear' in menu.keys(): wait = WebDriverWait(self.browser, 10, poll_frequency=1) my_wait = WaitDisappear(menu.get('wait_disappear')) wait.until(my_wait) # 切换iframe if 'iframe' not in menu.keys(): self.browser.switch_to.default_content() elif 'iframe' in menu.keys() and menu.get('iframe') != 'none': self.browser.switch_to.frame(menu.get('iframe')) else: pass # 是否等待页面加载 if 'wait' in menu.keys(): wait = WebDriverWait(self.browser, 10, poll_frequency=1) locator = (menu.get('wait').get('type'), menu.get('wait').get('content')) wait.until(EC.presence_of_element_located(locator)) # wait.until(EC.element_to_be_clickable(locator)) # wait.until(EC.visibility_of_element_located(locator)) # http请求监听 if proxy and 'listener' in menu.keys(): proxy.new_har("test", options={ 'captureHeaders': True, 'captureContent': True, 'captureBinaryContent': True }) self.get_screenshot() if 'operation' in menu.keys(): for op in menu.get('operation'): self.operation(op) self.operation(menu) # http请求监听 if proxy and 'listener' in menu.keys(): proxy.wait_for_traffic_to_stop(1, 1000) http = Http() http.listener(proxy.har, menu.get('listener')) # 断言 if 'assert' in menu.keys(): try: self.el.get( menu.get('assert').get('type'), menu.get('assert').get('content'), -1) except NoSuchElementException: if menu.get('assert').get('assert') == 1: assert_result = False # 处理失败,可能会有弹窗,多等一会 sleep(5) # raise AssertExcetion else: if menu.get('assert').get('assert') == 0: assert_result = False # raise AssertExcetion sleep(1) # 延迟(针对弹框) # if 'sleep' in menu.keys(): # sleep(menu.get('sleep')) # 后置操作(关闭弹出页面等) if 'after_operation' in menu.keys(): for op in menu.get('after_operation'): try: self.operation(op) sleep(1) except NoSuchElementException: # 后置操作,找不到元素不做处理 pass # 断言失败,抛出 if not assert_result: raise AssertExcetion
def __init__(self): self.url = 'http://oabt007.com/index/index/k/{keyword}/p/{page}' self.Http = Http() self.ZMZManager = ZMZManager()
def __init__(self): self.Http = Http() self.ZMZManager = ZMZManager()
def GetServerType(url): try: ht = Http(url, int(configpara.DEFAULT_TIMEOUT_TIME)) data = ht.head('').data except Exception, e: return ""
def http_object(request): token = request.cls.token http_object = Http() http_object.setHeaders({'Authorization': token}) return http_object
def __init__(self): self.pc_url = 'http://got001.com/resource.html?code={code}' self.m_api_url = 'http://m.got001.com/api/v1/static/resource/detail?code={code}' self.Http = Http() self.ZMZManager = ZMZManager() self.WebSelenium = WebSelenium()