def open_page(cls, driver, conf_path, page=None): aurl = Utility.get_json(conf_path)["aurl"] host = Utility.get_json(conf_path)["host"] port = Utility.get_json(conf_path)["port"] # 构造url打开网页 if page is not None: driver.get(f"http://{host}:{port}/{aurl}/{page}") else: driver.get(f"http://{host}:{port}/{aurl}")
def get_session(cls, conf_path): import requests data = Utility.get_json(conf_path) aurl = Utility.get_json(conf_path)["aurl"] host = Utility.get_json(conf_path)["host"] port = Utility.get_json(conf_path)["port"] # 构造url打开网页 login_url = f"http://{host}:{port}/{aurl}" login_data = {'userName': data['userName'], "userPass": data['userPass'], 'checkcode': data['checkcode']} session = requests.session() session.post(login_url, login_data) return session
def get_driver(cls, conf_path): browser = Utility.get_json(conf_path)["browser"] # 通过反射机制可以直接获取相应的结果 driver = getattr(webdriver, browser, webdriver.Chrome)() driver.implicitly_wait(0.5) driver.maximize_window() return driver
def get_driver(cls, path): contents = Utility.get_json(path) from selenium import webdriver driver = getattr(webdriver, contents['BROWSER'])() driver.implicitly_wait(10) driver.maximize_window() return driver
def miss_login(cls, driver, base_config_path): cls.open_page(driver, base_config_path) # 通过字典方式传递cookie信息 from WoniuBoss.tools.utility import Utility contents = Utility.get_json(base_config_path) driver.add_cookie({'name': 'username', 'value': contents['username']}) driver.add_cookie({'name': 'password', 'value': contents['password']}) cls.open_page(driver, base_config_path)
def miss_login(cls, driver, base_config_path): cls.open_page(driver, base_config_path) # 通过字典方式传递cookie信息 contents = Utility.get_json(base_config_path) driver.add_cookie({'name': 'username', 'value': contents['username']}) driver.add_cookie({'name': 'password', 'value': contents['password']}) driver.add_cookie({'name': 'token', 'value': contents['token']}) driver.add_cookie({'name': 'workId', 'value': contents['workId']}) time.sleep(2) cls.open_page(driver, base_config_path)
def get_session(cls, sum): base_info = Utility.get_json('..\\config\\base.conf') login_url = "%s://%s:%s/%s/" % ( base_info['PROTOCOL'], base_info['HOSTNAME'], base_info['PORT'], base_info['AURL'], ) # print(login_url) base_data = Utility.get_json('..\\config\\Account.conf') login_data = { 'userName': base_data[sum]['userName'], 'userPass': base_data[sum]['userPass'], 'checkcode': base_data[sum]['checkcode'] } # print(login_data) session = requests.session() resp = session.post(login_url, login_data) # print(resp.text) return session
def miss_login(cls, driver, base_config_path): cls.open_page(driver, base_config_path) # 通过字典方式传递cookie信息 contents = Utility.get_json(base_config_path) driver.add_cookie({'name': 'userName', 'value': contents['userName']}) driver.add_cookie({'name': 'userPass', 'value': contents['userPass']}) driver.add_cookie({'name': 'token', 'value': contents['token']}) driver.add_cookie({'name': 'workId', 'value': contents['workId']}) driver.add_cookie({ 'name': 'rememberMe', 'value': contents['rememberMe'] }) cls.open_page(driver, base_config_path)
def login_by_cookie(cls, driver, conf_path, page=None): cls.open_page(driver, conf_path) data = Utility.get_json(conf_path) driver.add_cookie({'name': 'username', 'value': data['username']}) driver.add_cookie({'name': 'password', 'value': data['password']}) driver.refresh() # # 判断是否登陆成功 # if ExistElement(self.driver).by_link('注销'): # print('登陆成功') # else: # print('登陆失败') # import time # time.sleep(0.5) cls.open_page(driver, conf_path, page)
import unittest from parameterized import parameterized from WoniuBoss.lib.login import LoginApi from WoniuBoss.tools.utility import Utility test_data_conf = '../conf/testdata.json' base_conf = '../conf/base.json' test_data_conf = Utility.get_json(test_data_conf) login_test_data = Utility.get_excel_dict_tup_list(test_data_conf['login_api']) # print(login_test_data) class LoginTest(unittest.TestCase): @classmethod def setUpClass(cls) -> None: pass def setUp(self) -> None: self.logIn = LoginApi() def tearDown(self) -> None: self.logIn.session.close() @parameterized.expand(login_test_data) def test_login(self, login_data): print(login_data) login_resp = self.logIn.do_login(login_data) login_resp_code = login_resp.status_code
from WoniuBoss.lib.job import Job from WoniuBoss.tools.utility import Utility from WoniuBoss.tools.service import Service from parameterized import parameterized import unittest import time # 获取测试数据 jpb_datas = Utility.get_json('../config/testdata.conf') tech_data = Utility.get_excel_GUI_tuple(jpb_datas[11]) edit_one_data = Utility.get_excel_GUI_tuple(jpb_datas[12]) edit_two_data = Utility.get_excel_GUI_tuple(jpb_datas[13]) edit_three_data = Utility.get_excel_GUI_tuple(jpb_datas[14]) class Testjob(unittest.TestCase): def setUp(self): print('test start') self.driver = Service.get_driver('../config/base.conf') Service.miss_login(self.driver, '../config/base.conf') self.driver.find_element_by_link_text(u'就业管理').click() self.job = Job(self.driver) def tearDown(self): print('test over') time.sleep(2) self.driver.quit() # 技术面试 @parameterized.expand(tech_data) def test_excute_tech(self, question, result, expect):
from WoniuBoss.tools.utility import Utility from WoniuBoss.lib.enterprise_manage import EnterpriseManage import unittest from parameterized import parameterized # 获取测试数据 enterprise_manage_datas = Utility.get_json('..\\config\\testdata_deng.conf') # 新增资源 enterprise_manage_add_datas = Utility.get_excel_to_tuple_url( enterprise_manage_datas[7]) # 修改资源 enterprise_manage_update_datas = Utility.get_excel_to_tuple_url( enterprise_manage_datas[8]) # 查询资源 enterprise_manage_query_datas = Utility.get_excel_to_tuple_url( enterprise_manage_datas[9]) class TestEnterPrise(unittest.TestCase): def setUp(self): print("test start") def tearDown(self): print("test over") # 新增资源 @parameterized.expand(enterprise_manage_add_datas) def test_enterprise_manage_add(self, enterprise_manage_add_url, expect): enterprise_manage_add_resp = EnterpriseManage().enterprise_add( enterprise_manage_add_url) actual = enterprise_manage_add_resp
# 该模块封装与登陆有关的测试 from selenium.webdriver.common.by import By from WoniuBoss.lib.login import Login from WoniuBoss.tools.service import Service from WoniuBoss.tools.utility import Utility import unittest from parameterized import parameterized # 获取登陆用的测试数据的配置 test_conf = Utility.get_json('../conf/testdata.json') # 通过配置获取登陆数据 login_info = Utility.get_excel_dict_tup_list(test_conf["login"]) # # 1.获取测试数据 2。 对每条数据执行 # # 3.实际结果actual与与其结果进行对比,如果一致则测试通过 class LoginTest(unittest.TestCase): @classmethod def setUpClass(cls) -> None: conf_path = '../conf/base.json' cls.driver = Service.get_driver(conf_path) Service.open_page(cls.driver, conf_path) @classmethod def tearDownClass(cls) -> None: cls.driver.quit() def setUp(self) -> None: pass
def __init__(self): self.test_case_data = Utility.get_json('../conf/test_case.json')
from WoniuBoss.tools.utility import Utility from WoniuBoss.lib.job_manage import JobManage import unittest from parameterized import parameterized # 获取测试数据 job_manage_datas = Utility.get_json('..\\config\\testdata.conf') # 就业面试通过 job_manage_pass_datas = Utility.get_excel_to_tuple_url(job_manage_datas[13]) # 就业管理提交 job_manage_commit_datas = Utility.get_excel_to_tuple_url(job_manage_datas[14]) # 查询资源 job_manage_query_datas = Utility.get_excel_to_tuple(job_manage_datas[15]) # 真实面试 job_manage_interview_datas = Utility.get_excel_to_tuple(job_manage_datas[16]) # 入职情况 job_manage_status_datas = Utility.get_excel_to_tuple(job_manage_datas[17]) class TestJobManage(unittest.TestCase): def setUp(self): print("test start") def tearDown(self): print("test over") # 就业面试通过 @parameterized.expand(job_manage_pass_datas) def test_job_manage_pass(self, job_manage_pass_url, expect): job_manage_pass_resp = JobManage().creat_pass(job_manage_pass_url) actual = job_manage_pass_resp
import unittest from selenium.webdriver.common.by import By from WoniuBoss.lib.login_four import Login from WoniuBoss.tools.service import Service from parameterized import parameterized from WoniuBoss.tools.utility import Utility train_data = Utility.get_json('..\\config\\testdata_four.conf') query_login = Utility.get_excel_GUI_tuple(train_data[0]) class Logining(unittest.TestCase): def setUp(self): self.driver = Service.get_driver('..\\config\\base_UI_four.conf') self.login = Login(self.driver) def tearDown(self): self.driver.quit() @parameterized.expand(query_login) def test_login(self, uname, upass, vcode, expect): login_data = { 'uname': uname, 'upass': upass, 'vcode': vcode, } self.login.do_login('..\\config\\base_UI_four.conf', login_data) if Service.is_element_present(self.driver, By.ID, 'btn-decrypt'): actual = 'success' else:
import unittest from parameterized import parameterized from WoniuBoss.tools.utility import Utility from WoniuBoss.lib.training import Tran train_data = Utility.get_json('..\\config\\testAPI.conf') query_message_info = Utility.get_excel_to_tuple(train_data[0]) query_resume_info = Utility.get_excel_to_tuple(train_data[1]) Track_resources_info = Utility.get_excel_to_tuple(train_data[2]) Modify_information_info = Utility.get_excel_to_tuple(train_data[3]) add_information_info = Utility.get_excel_to_tuple(train_data[4]) Waste_resources_info = Utility.get_excel_to_tuple(train_data[5]) transfer_query_info = Utility.get_excel_to_tuple(train_data[6]) transfer_view_info = Utility.get_excel_to_tuple(train_data[7]) transfer_commit_info = Utility.get_excel_to_tuple(train_data[8]) distribution_query_info = Utility.get_excel_to_tuple(train_data[9]) Proportionate_distribution_info = Utility.get_excel_to_tuple(train_data[10]) Public_query_info = Utility.get_excel_to_tuple(train_data[11]) Public_claim_info = Utility.get_excel_to_tuple(train_data[12]) class test_train(unittest.TestCase): def setUp(self): self.train = Tran(0) #搜索功能 @parameterized.expand(query_message_info) def test_query_message(self, URL, DATA, CONTENT): query_message_url = URL query_message_data = DATA resp = self.train.query_message(query_message_url, query_message_data) #断言
from WoniuBoss.tools.utility import Utility from WoniuBoss.lib.job_manage_tech import JobManageTech import unittest from parameterized import parameterized # 获取测试数据 job_manage_tech_datas = Utility.get_json('..\\config\\testdata_deng.conf') # 技术面试通过 job_manage_tech_pass_datas = Utility.get_excel_to_tuple_url( job_manage_tech_datas[10]) # 技术面试不通过 job_manage_tech_unpass_datas = Utility.get_excel_to_tuple_url( job_manage_tech_datas[11]) # 查询资源 job_manage_tech_query_datas = Utility.get_excel_to_tuple( job_manage_tech_datas[12]) class TestJobManageTech(unittest.TestCase): def setUp(self): print("test start") def tearDown(self): print("test over") # 技术面试通过 @parameterized.expand(job_manage_tech_pass_datas) def test_job_manage_tech_pass(self, job_manage_tech_pass_url, expect): job_manage_tech_pass_resp = JobManageTech().job_pass( job_manage_tech_pass_url) actual = job_manage_tech_pass_resp
from WoniuBoss.tools.utility import Utility from WoniuBoss.lib.market_sale import MarketPort import unittest from parameterized import parameterized # 获取测试数据 market_sale_datas = Utility.get_json('..\\config\\testdata_deng.conf') # 新增资源 market_add_datas = Utility.get_excel_to_tuple(market_sale_datas[4]) # 上传简历 market_upload_datas = Utility.get_excel_to_tuple(market_sale_datas[5]) # 查询资源 market_query_datas = Utility.get_excel_to_tuple(market_sale_datas[6]) class TestMarketSale(unittest.TestCase): def setUp(self): print("test start") def tearDown(self): print("test over") # 新增资源 @parameterized.expand(market_add_datas) def test_market_add(self, market_add_url, market_add_data, expect): market_add_resp = MarketPort().market_add(market_add_url, market_add_data) actual = market_add_resp # 断言 self.assertEqual(actual, expect)
from WoniuBoss.lib.login import Login from WoniuBoss.tools.utility import Utility import unittest from parameterized import parameterized data_config_info = Utility.get_json('..\\config\\testdata_du.conf') test_login_info = Utility.get_excel_to_tuple(data_config_info[0]) class LoginTest(unittest.TestCase): def setUp(self): self.login = Login() def tearDown(self): pass @parameterized.expand(test_login_info) def test_login(self,login_url,post,login_data,status_code,content): login_resp = self.login.do_login(login_url, login_data) if 'success' in login_resp.text: actual = 'login-pass' else: actual = 'login-fail' self.assertEqual(actual,content)
from selenium.webdriver.common.by import By from WoniuBoss.tools.utility import Utility from WoniuBoss.tools.service import Service from WoniuBoss.lib.login import Login from parameterized import parameterized import unittest import time # 获取测试数据 login_datas = Utility.get_json("../config/testdata.conf") login_data = Utility.get_excel_GUI_tuple(login_datas[0]) class TestLogin(unittest.TestCase): def setUp(self): print('test start') self.driver = Service.get_driver('../config/base.conf') Service.open_page(self.driver, '../config/base.conf') self.login = Login(self.driver) def tearDown(self): print('test over') time.sleep(2) self.driver.quit() # 测试登录功能 @parameterized.expand(login_data) def test_login(self, login_userName, login_userPASS, login_checkcode, login_expect): contents = { 'username': login_userName,
#!/usr/bin/env python # -*- coding:utf-8 -*- #====#====#====#==== #Author: #CreatDate: #Version: #====#====#====#==== from WoniuBoss.tools.utility import Utility from WoniuBoss.lib.student_center import StudentCenter import unittest from parameterized import parameterized # 获取测试数据 student_center_datas = Utility.get_json('..\\config\\testdata.conf') print(student_center_datas) #基本信息数据 essential_datas = Utility.get_excel_to_tuple(student_center_datas[0]) print(essential_datas) #今日考勤数据 check_datas = Utility.get_excel_to_tuple(student_center_datas[1]) #今日晨考数据 morning_datas = Utility.get_excel_to_tuple(student_center_datas[2]) #学员请假数据 vacate_datas = Utility.get_excel_to_tuple(student_center_datas[3]) # 晨考记录数据 records_datas = Utility.get_excel_to_tuple(student_center_datas[4]) #测评阶段数据 appraisal_datas = Utility.get_excel_to_tuple(student_center_datas[5]) #测试记录数据 record_datas = Utility.get_excel_to_tuple(student_center_datas[6])
def open_page(cls, driver, path): contents = Utility.get_json(path) URL = 'http://%s:%s/%s' % (contents['HOSTNAME'], contents['PORT'], contents['AURL']) driver.get(URL)