def test_simulation_view(self, uname, upass, vcode, password, pay, link, remark, expect): try: seek_data = { 'uname': uname, 'upass': upass, 'vcode': vcode, 'passwd': password, 'pay': pay, 'link': link, 'remark': remark } sql = f'select count(minterview_id) FROM mockinterview ' result = Utility.query_one('..\\config\\base_UI_four.conf', sql) self.login.do_login('..\\config\\base_UI_four.conf', seek_data) time.sleep(5) self.job.simulation_input(seek_data) new_result = Utility.query_one('..\\config\\base_UI_four.conf', sql) if new_result[0] - result[0] == 1: actual = 'success' else: actual = 'fail' self.assertEqual(actual, expect) except Exception as e: actual = 'fail' self.assertEqual(actual, expect)
def test_deliver(self, password, name, region, status, source, name_2, region_2, num, expect): try: deliver_data = { 'passwd': password, 'name': name, 'region': region, 'status': status, 'source': source, 'name_2': name_2, 'region_2': region_2, 'num': num } sql = f'select count(customer_id) from customer' result = Utility.query_one('..\\config\\base_UI.conf', sql) self.train.do_submit('..\\config\\base_UI.conf', deliver_data) new_result = Utility.query_one('..\\config\\base_UI.conf', sql) if new_result[0] - result[0] != 1: actual = 'success' else: actual = 'fail' self.assertEqual(actual, expect) except Exception as e: actual = 'fail' self.assertEqual(actual, expect)
def test_edit(self, uname, upass, vcode, password, region, section, tel, name, status, expect): try: edit_data = { 'uname': uname, 'upass': upass, 'vcode': vcode, 'passwd': password, 'region': region, 'section': section, 'tel': tel, 'name': name, 'status': status } sql = f'select count(customer_id) from customer' result = Utility.query_one('..\\config\\base_UI_four.conf', sql) self.login.do_login('..\\config\\base_UI_four.conf', edit_data) time.sleep(5) self.market.edit_do(edit_data) resp = self.driver.find_element_by_id('netCus-table') new_result = Utility.query_one('..\\config\\base_UI_four.conf', sql) if name in resp.text and new_result[0] - result[0] != 1: actual = 'success' else: actual = 'fail' self.assertEqual(actual, expect) except Exception as e: actual = 'fail' self.assertEqual(actual, expect)
def test_upload(self, uname, upass, vcode, password, region, section, xsl, expect): try: xls_data = { 'uname': uname, 'upass': upass, 'vcode': vcode, 'passwd': password, 'region': region, 'section': section, 'xsl': xsl } sql = f'select count(customer_id) from customer' result = Utility.query_one('..\\config\\base_UI_four.conf', sql) self.login.do_login('..\\config\\base_UI_four.conf', xls_data) time.sleep(5) self.market.upload_do(xls_data) new_result = Utility.query_one('..\\config\\base_UI_four.conf', sql) if new_result[0] - result[0] > 1: actual = 'success' else: actual = 'fail' self.assertEqual(actual, expect) except Exception as e: actual = 'fail' self.assertEqual(actual, expect)
def test_bus_add(self, uname, upass, vcode, password, buname, bucate, buaddr, buader, butel, expect): try: seek_data = { 'uname': uname, 'upass': upass, 'vcode': vcode, 'passwd': password, 'buname': buname, 'bucate': bucate, 'buaddr': buaddr, 'buader': buader, 'butel': butel } sql = 'select count(enterprise_id) FROM enterprise_info' result = Utility.query_one('..\\config\\base_UI_four.conf', sql) self.login.do_login('..\\config\\base_UI_four.conf', seek_data) time.sleep(5) self.job.busine_add(seek_data) new_result = Utility.query_one('..\\config\\base_UI_four.conf', sql) if new_result[0] - result[0] == 1: actual = 'success' else: actual = 'fail' self.assertEqual(actual, expect) except Exception as e: actual = 'fail' self.assertEqual(actual, expect)
def test_simulation_add(self, uname, upass, vcode, password, num, work, utime, pay, inps, expect): try: seek_data = { 'uname': uname, 'upass': upass, 'vcode': vcode, 'passwd': password, 'num': num, 'work': work, 'utime': utime, 'pay': pay, 'inps': inps } sql = 'select count(job_regist_id) FROM job_register' result = Utility.query_one('..\\config\\base_UI_four.conf', sql) self.login.do_login('..\\config\\base_UI_four.conf', seek_data) time.sleep(5) self.job.add_entry_information(seek_data) new_result = Utility.query_one('..\\config\\base_UI_four.conf', sql) if new_result[0] - result[0] == 1: actual = 'success' else: actual = 'fail' self.assertEqual(actual, expect) except Exception as e: actual = 'fail' self.assertEqual(actual, expect)
def test_simulation_submit(self, uname, upass, vcode, password, num, agreement, expect): try: seek_data = { 'uname': uname, 'upass': upass, 'vcode': vcode, 'passwd': password, 'num': num, 'agreement': agreement, } sql = 'select count(student_id) FROM student WHERE is_sign="1"' result = Utility.query_one('..\\config\\base_UI_four.conf', sql) self.login.do_login('..\\config\\base_UI_four.conf', seek_data) time.sleep(5) self.job.do_entry_information(seek_data) new_result = Utility.query_one('..\\config\\base_UI_four.conf', sql) if new_result[0] != result[0]: actual = 'success' else: actual = 'fail' self.assertEqual(actual, expect) except Exception as e: actual = 'fail' self.assertEqual(actual, expect)
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, 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 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 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 test_querystaff(self, query_staff_url, post, query_staff_data, status_code, content): querystaff_resp = self.hr.query_staff(query_staff_url, query_staff_data) sql_all = 'select count(employee_id) from employee' all_staff_number = Utility.query_one('..\\config\\base.conf',sql_all)[0] sql_part = 'select count(employee_id) from employee where region_id=3' part_staff_number = Utility.query_one('..\\config\\base.conf', sql_part)[0] if querystaff_resp.json()['totalRow'] == 0: actual = 'query zero' elif querystaff_resp.json()['totalRow'] == 1: actual = 'query one' elif querystaff_resp.json()['totalRow'] == all_staff_number: actual = 'query all' elif querystaff_resp.json()['totalRow'] == part_staff_number: actual = 'query part' else: actual = 'query error' self.assertEqual(actual, content)
def test_querflow(self, query_flow_url, post, query_flow_data, status_code, content): queryflow_resp = self.finance.query_flow(query_flow_url, query_flow_data) sql_part01 = 'select count(detailed_id) from detailed_dealings where trading_time between "2018-05-29" and "2018-05-31"' part_flow_number01 = Utility.query_one('..\\config\\base.conf', sql_part01)[0] sql_part02 = 'select count(detailed_id) from detailed_dealings where trading_time between "2020-03-01" and "2020-03-31"' part_flow_number02 = Utility.query_one('..\\config\\base.conf', sql_part02)[0] sql_part03 = 'select count(detailed_id) from detailed_dealings where trading_time between "2020-04-01" and "2020-04-30"' part_flow_number03 = Utility.query_one('..\\config\\base.conf', sql_part03)[0] if queryflow_resp.json()['totalRow'] == part_flow_number01: actual = 'query part' elif queryflow_resp.json()['totalRow'] == part_flow_number02: actual = 'query lastmonth' elif queryflow_resp.json()['totalRow'] == part_flow_number03: actual = 'query thismonth' else: actual = 'query error' self.assertEqual(actual, content)
def test_excute_tech(self, question, result, expect): contents = {'question': question, 'result': result} self.job.excute_tech(contents) sql_one = 'select question from skill_record where skillrecord_student_id="858"' result_one = Utility.query_one('../config/base.conf', sql_one) if contents['question'] == result_one[0]: actual = 'add-pass' else: actual = 'add-fail' self.assertEqual(actual, expect)
def test_email(self, uname, upass, vcode, password, expect): email_data = { 'uname': uname, 'upass': upass, 'vcode': vcode, 'passwd': password } sql = f'select count(customer_id) from customer' result = Utility.query_one('..\\config\\base_UI_four.conf', sql) self.login.do_login('..\\config\\base_UI_four.conf', email_data) time.sleep(5) self.market.email_read(email_data) time.sleep(10) new_result = Utility.query_one('..\\config\\base_UI_four.conf', sql) if new_result[0] - result[0] > 1: actual = 'success' else: actual = 'fail' self.assertEqual(actual, expect)
def start_test(self): test_suite = unittest.TestSuite() loader = unittest.TestLoader() for value in self.test_case_data.values(): tests_case = loader.loadTestsFromName(value) test_suite.addTests(tests_case) file_path = Utility.create_path_by_time() with open(file_path, 'w') as file: runner = HTMLTestRunner(stream=file, verbosity=2) runner.run(test_suite)
def test_tail(self, password, state, priority, record, expect): tail_data = { 'passwd': password, 'state': state, 'priority': priority, 'record': record } sql = f'select count(customer_id) from customer' result = Utility.query_one('..\\config\\base_UI.conf', sql) self.train.do_tail('..\\config\\base_UI.conf', tail_data) new_result = Utility.query_one('..\\config\\base_UI.conf', sql) resp = self.driver.find_element_by_css_selector( '#personal-table > tbody:nth-child(2)') # print(resp.text) if new_result[0] - result[0] != 1 and record in resp.text: actual = 'success' else: actual = 'fail' self.assertEqual(actual, expect)
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 test_add(self, password, phone, name, condition, SOURCE, expect): add_data = { 'passwd': password, 'phone': phone, 'name': name, 'condition': condition, 'SOURCE': SOURCE } #查询新增之前的总数 sql = f'select count(customer_id) from customer' result = Utility.query_one('..\\config\\base_UI.conf', sql) self.train.add_student('..\\config\\base_UI.conf', add_data) new_result = Utility.query_one('..\\config\\base_UI.conf', sql) if new_result[0] - result[0] == 1: actual = 'success' else: actual = 'fail' self.assertEqual(actual, expect)
def test_console_query_six(self): self.report.click_console() # 上周 self.report.click_oldweek_console() sql_six = 'select count(last_status) from customer where work_id = "23" and last_status="新认领"' result_six = Utility.query_one('../config/base.conf', sql_six) if self.driver.find_element_by_xpath('//table[@id="成都"]/tbody/tr[2]/td[8]').text == result_six[0]: actual = 'query-pass' else: actual = 'query-fail' self.assertEqual(actual, 'query-pass')
def test_console_query_two(self): self.report.click_console() # 当期 self.report.click_evedate_console() sql_two = 'select count(last_status) from customer where work_id="11" and last_status="已认领"' result_two = Utility.query_one('../config/base.conf', sql_two) if self.driver.find_element_by_xpath('//table[@id="成都"]/tbody/tr[1]/td[9]').text == result_two[0]: actual = 'query-pass' else: actual = 'query-fail' self.assertEqual(actual, 'query-pass')
def test_market_data_eight(self): self.report.click_market() # 本年 self.report.click_market_eveyear_console() sql_eight = 'select count(department_id) from customer where "2020-01-01"<=create_time<="2020-04-13"' result_eight = Utility.query_one('../config/base.conf', sql_eight) if result_eight[0] == 2: actual = 'query-pass' else: actual = 'query-fail' self.assertEqual(actual, 'query-pass')
def test_market_data_seven(self): self.report.click_market() # 上月 self.report.click_market_oldmonth_console() sql_seven = 'select count(department_id) from customer where "2020-03-01"<=create_time<="2020-03-31"' result_seven = Utility.query_one('../config/base.conf', sql_seven) if result_seven[0] == 0: actual = 'query-pass' else: actual = 'query-fail' self.assertEqual(actual, 'query-pass')
def test_market_data_six(self): self.report.click_market() # 上周 self.report.click_market_oldweek_console() sql_six = 'select count(department_id) from customer where "2020-04-06"<=create_time<="2020-04-12"' result_six = Utility.query_one('../config/base.conf', sql_six) if result_six[0] == 0: actual = 'query-pass' else: actual = 'query-fail' self.assertEqual(actual, 'query-pass')
def test_market_data_three(self): self.report.click_market() # 今日 self.report.click_market_eveday_console() sql_three = 'select count(department_id) from customer where create_time="2020-04-13"' result_three = Utility.query_one('../config/base.conf', sql_three) if result_three[0] == 2: actual = 'query-pass' else: actual = 'query-fail' self.assertEqual(actual, 'query-pass')
def test_market_data_two(self): self.report.click_market() # 当期 self.report.click_market_evedate_console() sql_two = 'select count(department_id) from customer where "2020-01-31"<=create_time<="2020-03-31' result_two = Utility.query_one('../config/base.conf', sql_two) if result_two[0] == 0: actual = 'query-pass' else: actual = 'query-fail' self.assertEqual(actual, 'query-pass')
def test_sale_data_eight(self): self.report.click_sale() # 本年 self.report.click_sale_eveyear_console() sql_eight = 'select count(last_status) from customer where work_id = "66" and last_status="已认领"' result_eight = Utility.query_one('../config/base.conf', sql_eight) if self.driver.find_element_by_xpath('//table[@id="成都"]/tbody/tr[2]/td[9]').text == result_eight[0]: actual = 'query-pass' else: actual = 'query-fail' self.assertEqual(actual, 'query-pass')
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 test_public(self, password, name, status, source, ucus, num, expect): claim_data = { 'passwd': password, 'name': name, 'status': status, 'source': source, 'ucus': ucus, 'num': num } sql = f'select count(customer_id) from customer' result = Utility.query_one('..\\config\\base_UI.conf', sql) self.train.do_claim('..\\config\\base_UI.conf', claim_data) resp = self.driver.find_element_by_id('public-pool-table') self.train.affirm_claim() new_result = Utility.query_one('..\\config\\base_UI.conf', sql) if ucus not in resp.text and new_result[0] - result[0] != 1: actual = 'success' else: actual = 'fail' self.assertEqual(actual, expect)