8、base

base-find_element.py

from rip_dictionary.rip_datacreate.base.read_ini import ReadIni
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.common.by import By
import os,json
#公共存放

class FindElement():
    def __init__(self,driver=None):
        self.driver = driver

    def get_element(self,key,node,file_name='ElementConfig'):
        read_ini = ReadIni(node,file_name)
        data = read_ini.get_value(key)
        by = data.split('>')[0]
        value = data.split('>')[1]
        try:
            if by == 'id':
                return self.driver.find_element_by_id(value)
            elif by == 'name':
                return self.driver.find_element_by_name(value)
            elif by == 'className':
                return self.driver.find_element_by_class_name(value)
            else:
                return self.driver.find_element_by_xpath(value)
        except:
            return None

    def get_elementByWait(self,key,node,file_name='ElementConfig'):
        read_ini = ReadIni(node,file_name)
        data = read_ini.get_value(key)
        by = data.split('>')[0]
        value = data.split('>')[1]
        try:
            if by == 'id':
                return WebDriverWait(self.driver, 10,0.5).until(EC.visibility_of_element_located((By.ID, value)))
            elif by == 'name':
                return WebDriverWait(self.driver, 10,0.5).until(EC.visibility_of_element_located((By.NAME, value)))
            elif by == 'className':
                return WebDriverWait(self.driver, 10,0.5).until(EC.visibility_of_element_located((By.CLASS_NAME, value)))
            else:
                return WebDriverWait(self.driver, 10,0.5).until(EC.visibility_of_element_located((By.XPATH, value)))
        except:
            return None

    def get_configVal(self,key,node,file_name='publicParameters'):
        read_ini = ReadIni(node,file_name)
        data = read_ini.get_value(key)
        return data

if __name__ == '__main__':
    aa = FindElement()
    bb = aa.get_configVal('db_rip','DBConnectConfig')
    abc = json.loads(bb)
    print(abc)
    # print(abc['host'])

base-random_method.py

import random

class randomMethod():

    def get_random_name(self):
        data = ''.join(random.sample('zyxwvutsrqponmlkjihgfedcba123456', 5))
        data = '测试'+data
        return data

    def get_random_code(self):
        data = ''.join(random.sample('1234567890', 5))
        data = 'test'+data
        return data

if __name__ == '__main__':
    aa = randomMethod()
    b = aa.get_random()
    print(b)
    print(type(b))

base-read_ini.py

import configparser,os

class ReadIni():

    def __init__(self,node=None,file_name=None):
        if file_name == None:
            file_name = os.path.abspath('../')+"/config/ElementConfig.ini"
        else: #os.path.abspath('../')是E:\rip_auto
            # file_name = os.path.abspath('../') + "/config/"+ file_name +".ini"
            file_name = os.path.abspath('../') +"/rip_auto" +"/rip_dictionary" + "/rip_datacreate" + "/config/publicParameters.ini"
            # file_name = r'E:\rip_auto\rip_dictionary\rip_datacreate\config\publicParameters.ini'
        if node == None:
            self.node = "CreateClueElement"
        else:
            self.node = node
        self.cf = self.load_ini(file_name)

    #加载文件
    def load_ini(self,file_name):
        cf = configparser.ConfigParser()
        cf.read(file_name,encoding="utf-8")
        return cf

    #获取value的值
    def get_value(self,key):
        data = self.cf.get(self.node, key)
        return data

if __name__ == '__main__':
    read_init = ReadIni('DBConnectConfig','publicParameters')
    print(read_init.get_value('db_rip'))

base-request_method.py

import requests
import json
class RequestMethod:
    def post_main(self,url,data,cookies=None):
        if cookies !=None:
            res = requests.post(url=url,data=data,cookies=cookies,verify=False)
            # print("请求的url:%s"%url+"请求的参数:%s"%str(data))
        else:
            res = requests.post(url=url,data=data,verify=False)
            # print("请求的url:%s" % url + "请求的参数:%s" % str(data))
        return res

    def get_main(self,url,data=None,cookies=None):
        if cookies !=None:
            res = requests.get(url=url,data=data,cookies=cookies,verify=False)
        else:
            res = requests.get(url=url,data=data,verify=False)
        return res

    def json_main(self,url,json=None,cookies=None):
        if cookies !=None:
            res = requests.post(url=url,json=json,cookies=cookies,verify=False)
        else:
            res = requests.post(url=url,json=json,verify=False)
        return res

    def upload_main(self,url,data=None,files=None,cookies=None):
        if cookies !=None:
            res = requests.post(url=url,data=data,files=files,cookies=cookies,verify=False)
        else:
            res = requests.post(url=url,data=data,files=files,verify=False)
        return res

    def run_main(self,method,url,type,data=None,cookies=None):
        requests.packages.urllib3.disable_warnings()#防止警告报错
        if type == "json":
            if method == 'post':
                res = (self.post_main(url,data,cookies)).json()
            elif method == 'post_json':
                res = (self.json_main(url, data, cookies)).json()
            else:
                res = (self.get_main(url,data, cookies)).json()
            return json.dumps(res,ensure_ascii=False)
        elif type == "html":
            if method == 'post':
                res = (self.post_main(url, data, cookies)).text
            else:
                res = (self.get_main(url, data, cookies)).text
            return res

if __name__ == '__main__':
    r=RequestMethod()
    url='http://rip-stage-test3.msxfcloud.test/api/sysmgr/main/login'
    data={
    "userName": "admin",
    "password": "ZqONDX8Dd3iEjTRKG4HDeg==",
    "secFactorCode": "1"
}
    headers= {
            "Content-Type":"application/json"
        }
    aa= r.run_main('post_json',url,"json",data,headers)
    print(aa)
posted @ 2021-10-26 10:46  东北小酱  阅读(110)  评论(0)    收藏  举报