Exemplo n.º 1
0
def CheckHostOnline(host):
    try:
        ht = Http(host, int(configpara.DEFAULT_TIMEOUT_TIME))
        data = ht.head('').data
        return True
    except Exception, e:
        return False
Exemplo n.º 2
0
def GetHtml(host):
    try:
        ht = Http(host, int(configpara.DEFAULT_TIMEOUT_TIME))
        ret = ht.get().data
        return ret
    except Exception, e:
        return ""
Exemplo n.º 3
0
    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
Exemplo n.º 4
0
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)
Exemplo n.º 5
0
    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
Exemplo n.º 6
0
 def __init__(self):
     self.url = 'http://oabt007.com/index/index/k/{keyword}/p/{page}'
     self.Http = Http()
     self.ZMZManager = ZMZManager()
Exemplo n.º 7
0
 def __init__(self):
     self.Http = Http()
     self.ZMZManager = ZMZManager()
Exemplo n.º 8
0
def GetServerType(url):
    try:
        ht = Http(url, int(configpara.DEFAULT_TIMEOUT_TIME))
        data = ht.head('').data
    except Exception, e:
        return ""
Exemplo n.º 9
0
def http_object(request):
    token = request.cls.token
    http_object = Http()
    http_object.setHeaders({'Authorization': token})
    return http_object
Exemplo n.º 10
0
 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()