def setUp(self): conf = ConfigParser() self.path = setting_path() self.file_path = r'C:\Users\%s\Desktop\UIAutotest\Page\file\1.jpg' % ( str(getpass.getuser())) conf.read(self.path) self.username = conf.get('operation', 'username') self.password = conf.get('operation', 'password') self.Hujinping = conf.get('management', "Hujinping") self.labor_management = conf.get('management', 'labor_management') url = conf.get('testUrl', 'url') self.browser = browse_driver.Firefox() self.browser.maximize_window() self.browser.implicitly_wait(5) self.browser.get(url) text = getContractName() # 总包合同名称 self.package_contract = text + '合同' # 总包工程名称 self.project_name = '中国' + text + '工程' # 分包工程名称 self.subcontracting_project_name = '分包' + self.project_name # 劳务经理的名字 self.labor_name = "吴汇钢" web_login(self.browser, self.username, self.password) pass
def setUp(self): conf = ConfigParser() self.path = r'C:\Users\%s\Desktop\UIAutotest\TeseCase\Web\setting.ini' % ( str(getpass.getuser())) self.file_path = r'C:\Users\%s\Desktop\UIAutotest\Page\file\1.jpg' % ( str(getpass.getuser())) conf.read(self.path) self.username = conf.get('labor', 'Wuhuigang') # self.username = conf.get('teamLeader', 'Zhenglinlin') self.password = conf.get('operation', 'password') self.username1 = conf.get('projectManager', 'taohui') url = conf.get('testUrl', 'perfurl') self.browser = browse_driver.Firefox() self.browser.maximize_window() self.browser.implicitly_wait(5) # 需要特别说明的是:隐性等待对整个driver的周期都起作用,所以只要设置一次即可, # 我曾看到有人把隐性等待当成了sleep在用,走哪儿都来一下… self.browser.get(url) self.mobile = get_mobile() # self.mobile = 15308222551 web_login(self.browser, self.username, self.password) change_workman_contract_date(self.browser) logout(self.browser) web_login(self.browser, self.username1, self.password) approve_workflow(self.browser, '修改用工合同结束时间') # general_contract(self.browser, '总包合同', '杭州', '浙江', '测试试试试试') # select_city(self.browser) pass
def forget_password(driver, mobile, new_password, code): get_elements(driver, ('xpath', "//button[contains(text(),'登录')]"))[0].click() get_element(driver, ('xpath', "//a[contains(text(),'忘记密码?')]")).click() # 输入用户名 sleep(0.1) get_element(driver, ('id', "user")).send_keys(mobile) # 输入新密码 get_element(driver, ('id', "newPassWork")).send_keys(new_password) # 再次输入密码 get_element( driver, ('xpath', "//input[@placeholder='请再次输入确认密码']")).send_keys(new_password) # driver.find_elements_by_xpath("//span[contains(text(),'点击获取验证码')]")[1].click() get_element(driver, ('xpath', "//span[contains(text(),'点击获取验证码')]")).click() # 输入验证码 get_element( driver, ('xpath', ".//*[@id='forgetPass']/form/div[4]/div[2]/input")).send_keys(code) sleep(0.5) get_element(driver, ('xpath', "//button[contains(text(),'重置密码')]")).click() sleep(6) try: web_login(driver, mobile, new_password) print('重置密码,且登陆成功') except Exception as e: print(e) print("重置密码失败") assert False
def account_setting(driver, mobile, password): # 更改密码 get_element(driver, ('id', 'dropdownMenu-set')).click() get_element( driver, ('xpath', "//a[@role='menuitem' and contains(text(),'账号设置') ]")).click() get_element(driver, ('xpath', "//a[contains(text(),'更换密码')]")).click() get_element(driver, ('id', 'user')).send_keys(mobile) get_element(driver, ('id', 'newPassWork')).send_keys(password) get_element( driver, ('xpath', "//input[@placeholder='请再次输入确认密码']")).send_keys(password) get_element( driver, ('xpath', "//span[contains(text(),'点击获取验证码') and @class='get-btn']")).click() get_element(driver, ('xpath', "//div[@class='col-sm-5']/input")).send_keys('11111') sleep(0.5) get_element( driver, ('xpath', "//button[@class='btn btn-sm btn-primary btn-reset']")).click() sleep(10) try: web_login(driver, mobile, password) print('重置密码,且登陆成功') except Exception as e: print(e) print("重置密码失败") assert False
def test_05_change_time_of_attendance(self): many_people = 2 # 修改出勤时间工作流 change_time_of_attendance(self.browser, get_people_name(), self.file_path, many_people) logout(self.browser) web_login(self.browser, self.username1, self.password) approve_workflow(self.browser, '修正工人考勤异常', many_people)
def test_05_terminating_contract(self): # 合同终止 web_login(self.browser, self.username, self.password) workers_name = get_save_mobile_number() ws_driver = get_ws_driver(self.ws_url) termination_of_the_contract( self.browser, login(ws_driver, workers_name, self.password)['data']['realname'])
def test_02_evaluation_worker(self): # 评价工人 web_login(self.browser, self.username, self.password) workers_mobile = get_save_mobile_number() ws_driver = get_ws_driver(self.ws_url) evaluation_of_worker( self.browser, login(ws_driver, workers_mobile, self.password)['data']['realname'])
def test_03_modify_comments(self): # 修改评价 web_login(self.browser, self.username, self.password) workers_mobile = get_save_mobile_number() ws_driver = get_ws_driver(self.ws_url) evaluation_of_worker( self.browser, login(ws_driver, workers_mobile, self.password)['data']['realname'], '修改评价')
def test_02_workman_contract_piece(self): # 工人注册 web_workman_register(self.browser, self.mobile, self.code, self.password) # 实名认证 verify_real_name(self.browser, self.people_name, self.identity, self.file_path, self.file_path) logout(self.browser) # 劳务经理登陆 web_login(self.browser, self.username, self.password) workman_contract_piece(self.browser, self.artifact, self.people_name)
def test_01_workman_contract_time(self): # 工人注册 web_workman_register(self.browser, self.mobile, self.code, self.password) temporary_mobile_number(self.people_name) # 实名认证 verify_real_name(self.browser, self.people_name, self.identity, self.file_path, self.file_path) logout(self.browser) # 劳务经理登陆 web_login(self.browser, self.username, self.password) workman_contract(self.browser, self.people_name)
def test_02_organizational_structure(self): # 清除 待处理任务 employee_operation_the_all_workflow(self.browser, self.ws_driver, 1) logout(self.browser) employee_operation_the_all_workflow(self.browser, self.ws_driver, 2) logout(self.browser) # 平台运维登陆 web_login(self.browser, self.operation, self.password) # 编辑组织架构 add_manager_for_organizational_structure(self.browser, self.ws_driver)
def test_06_out_of_date_workers(self): # 对过期的工人发起合同 ws_driver = get_ws_driver(self.ws_url) sid = login(ws_driver, self.username, self.password) workers_name = get_save_mobile_number() user = login(ws_driver, workers_name, self.password) workflow_process_create(ws_driver, sid['data']['sid'], user['data']['user_id'], 0) web_login(self.browser, self.username1, self.password) verify_worker_exists(self.browser, user['data']['realname'])
def setUp(self): conf = ConfigParser() conf.read(setting_path()) self.username = conf.get('operation', 'username') self.password = conf.get('operation', 'password') self.url = conf.get('testUrl', 'url') self.driver = browser_driver.Firefox() self.driver.maximize_window() self.driver.implicitly_wait(10) self.driver.get(self.url) web_login(self.driver, self.username, self.password)
def test_01_new_payroll(self): money = random.randint(20, 1000) web_workman_register(self.driver, self.mobile, self.code, self.password) # 实名认证 verify_real_name(self.driver, self.people_name, self.identity, self.file_path, self.file_path) logout(self.driver) # 劳务经理登陆 sid = login(self.ws_driver, self.username, self.password) workflow_process_create(self.ws_driver, sid['data']['sid'], login(self.ws_driver, self.mobile, self.password)['data']['user_id']) web_login(self.driver, self.username, self.password) new_payroll(self.driver, self.payroll_name, money)
def setUp(self): config = ConfigParser() config.read(setting_path()) self.browser = browse_driver.Firefox() self.browser.maximize_window() url = config.get('testUrl', 'url') print(url) self.browser.get(config.get('testUrl', 'url')) self.username = config.get('projectManager', 'taohui') self.password = config.get('operation', 'password') self.manager_username = config.get('management', 'Hujinping') self.area_name = getPeopleName() web_login(self.browser, self.username, self.password)
def test_01_general_contract(self): # 发包方 contract_awarding = '苑通生态建设有限公司' # 承包方 第一管理层 胡金平18969026106 contracting = '杭州智链达数据有限公司' # 分包方 劳务经理的名字记的更改 # 总包合同 general_contract(self.browser, self.package_contract, contract_awarding, contracting, self.project_name) logout(self.browser) web_login(self.browser, self.username, self.password) subcontracting = '杭州富众人力有限公司' subcontract(self.browser, self.project_name, subcontracting, self.subcontracting_project_name, self.labor_name)
def setUp(self): conf = ConfigParser() self.path = setting_path() self.file_path = file_path('1') conf.read(self.path) self.username = conf.get('projectManager', 'taohui') self.password = conf.get('operation', 'password') self.username1 = conf.get('management', 'yangyinghua') url = conf.get('testUrl', 'url') self.browser = browse_driver.Firefox() self.browser.maximize_window() self.browser.implicitly_wait(5) self.browser.get(url) web_login(self.browser, self.username, self.password)
def setUp(self): conf = ConfigParser() self.path = setting_path() self.file_path = r'C:\Users\%s\Desktop\UIAutotest\Page\file\1.jpg' % ( str(getpass.getuser())) conf.read(self.path) self.username = conf.get('teamLeader', 'Zhenglinlin') self.password = conf.get('operation', 'password') self.username1 = conf.get('projectManager', 'taohui') url = conf.get('testUrl', 'url') self.browser = browse_driver.Firefox() self.browser.maximize_window() self.browser.get(url) web_login(self.browser, self.username, self.password)
def setUp(self): conf = ConfigParser() self.path = setting_path() conf.read(self.path) self.username = conf.get('projectManager', 'taohui') self.password = conf.get('operation', 'password') url = conf.get('testUrl', 'perfurl') self.browser = browse_driver.Firefox() self.browser.maximize_window() self.browser.implicitly_wait(5) # 需要特别说明的是:隐性等待对整个driver的周期都起作用,所以只要设置一次即可, self.browser.get(url) web_login(self.browser, self.username, self.password) self.team_name = getRandomName() pass
def setUp(self): conf = ConfigParser() self.path = setting_path() self.file_path = r'C:\Users\%s\Desktop\UIAutotest\Page\file\1.jpg' % ( str(getpass.getuser())) conf.read(self.path) self.username = conf.get('operation', 'username') self.password = conf.get('operation', 'password') url = conf.get('testUrl', 'url') self.browser = browse_driver.Firefox() self.browser.maximize_window() self.browser.implicitly_wait(5) # 需要特别说明的是:隐性等待对整个driver的周期都起作用,所以只要设置一次即可, # 我曾看到有人把隐性等待当成了sleep在用,走哪儿都来一下… self.browser.get(url) from Page.web.web_login import web_login web_login(self.browser, self.username, self.password) pass
def change_phone_number(driver, mobile, new_mobile, password): # 更换手机号 get_element(driver, ('id', 'dropdownMenu-set')).click() get_element( driver, ('xpath', "//a[@role='menuitem' and contains(text(),'账号设置') ]")).click() get_element(driver, ('xpath', "//a[contains(text(),'更改手机号')]")).click() sleep(0.5) get_element( driver, ('xpath', "//input[@placeholder='请输入原手机号码']")).send_keys(mobile) get_elements( driver, ('xpath', "//span[contains(text(),'点击获取验证码') and @class='get-btn' ]" ))[0].click() get_elements( driver, ('xpath', "//div[@class='col-sm-5']/input"))[0].send_keys('11111') get_elements(driver, ('xpath', "//button[contains(text(),'下一步')]"))[0].click() sleep(2) get_element( driver, ('xpath', "//input[@placeholder='请输入新手机号码']")).send_keys(new_mobile) get_elements( driver, ('xpath', "//span[contains(text(),'点击获取验证码') and @class='get-btn' ]" ))[1].click() get_elements( driver, ('xpath', "//div[@class='col-sm-5']/input"))[1].send_keys('11111') get_elements(driver, ('xpath', "//button[contains(text(),'下一步')]"))[1].click() sleep(6) try: web_login(driver, new_mobile, password) print('重置密码,且登陆成功') except Exception as e: print(e) print("重置密码失败") bug_photo(driver) assert False
def setUp(self): # # 实例化一个火狐配置文件 # fp = browse_driver.FirefoxProfile() # # 设置各项参数,参数可以通过在浏览器地址栏中输入about:config查看。 # # 设置成0代表下载到桌面,1代表浏览器默认下载路径;设置成2则可以保存到指定目录 # fp.set_preference("browser.download.folderList", 2) # # 是否显示开始,(个人实验,不管设成True还是False,都不显示开始,直接下载) # fp.set_preference("browser.download.manager.showWhenStarting", False) # # 下载到指定目录 # fp.set_preference("browser.download.dir", test_report_path()) # 路径名称文件夹设置成英文,不然不能下载到指定目录 # # 不询问下载路径;后面的参数为要下载页面的Content-type的值 # fp.set_preference("browser.helperApps.neverAsk.saveToDisk", "application/vnd.ms-excel") config = ConfigParser() config.read(setting_path()) self.file_path = file_path('1') # self.driver = browse_driver.Firefox(firefox_profile=fp) self.driver = browse_driver.Firefox() self.driver.maximize_window() self.driver.get(config.get('testUrl', 'url')) self.username = config.get('projectManager', 'taohui') self.password = config.get('operation', 'password') web_login(self.driver, self.username, self.password)
def employee_operation_the_all_workflow(driver, ws_driver, position): """ :param ws_driver: :param driver: :param position: 1 项目经理 2 劳务经理 :return: """ conf = ConfigParser() path = setting_path() conf.read(path) pwd = 123456 if position == 1: username = conf.get('projectManager', 'taohui') web_login(driver, username, pwd) login(ws_driver, username, pwd) elif position == 2: username = conf.get('labor', 'Wuhuigang') web_login(driver, username, pwd) login(ws_driver, username, pwd) else: print('请输入整数(1 :项目经理 2: 劳务经理)') operation_the_all_workflow(driver)
def test_01_login(self): web_login(self.browser, self.username, self.password) logout(self.browser)
def test_01_workman_contract_time(self): web_login(self.browser, self.username, self.password) workers_name = get_temporary_mobile_number() edit_workers_contract(self.browser, workers_name, self.file_path)
def test_03_update_PM(self): logout(self.browser) web_login(self.browser, self.manager_username, self.password) update_PM(self.browser)
def test_04_request_for_overtime(self): # 加班工作流 request_for_overtime(self.browser, getPeopleName(), self.file_path) logout(self.browser) web_login(self.browser, self.username1, self.password) approve_workflow(self.browser, '加班工作流')
def test_03_initiate_artifacts(self): # 工件完成工作流 initiate_artifacts(self.browser, self.file_path) logout(self.browser) web_login(self.browser, self.username1, self.password) approve_workflow(self.browser, '工件完成工作流')
def test_02_batch_add_workman(self): # 批量请假工作流 batch_add_workman(self.browser, self.file_path, getPeopleName()) logout(self.browser) web_login(self.browser, self.username1, self.password) approve_workflow(self.browser, '请假工作流')
def test_01_to_apply_for_leave(self): # 单人请假工作流 to_apply_for_leave(self.browser, self.file_path, getPeopleName()) logout(self.browser) web_login(self.browser, self.username1, self.password) approve_workflow(self.browser, '请假工作流')