def Casjc_login(self): self.hailong.get(self.lurl) self.hailong.maximize_window() try: WebDriverWait(self.hailong,casjc_config.wait_time,0.5).until(EC.visibility_of_all_elements_located((By.CSS_SELECTOR, "input[type='text']"))) except exceptions.TimeoutException: pass self.hailong.find_element_by_css_selector("input[type='text']").send_keys(self.uname) casjc_log.logging.info("管理后台登录-输入用户名:" + self.uname) self.hailong.find_element_by_css_selector('input[type="password"]').send_keys(self.upasswd) casjc_log.logging.info("管理后台登录-输入密码:" + self.upasswd) self.hailong.find_element_by_tag_name('button').click() #等待casjc_config.wait_time全局设置时间,判断是否登录成功进入首页 try: WebDriverWait(self.hailong,casjc_config.wait_time,0.5).until(EC.visibility_of_all_elements_located((By.CSS_SELECTOR, 'a[class="router-link-active"]'))) if self.hailong.find_elements_by_css_selector('a[class="router-link-active"]')[0].text == "首页": time.sleep(casjc_config.show_time) #casjc_config.casjc_result['管理后台用户登录'+ time.strftime("%M%S",time.localtime())] = "当前用户: %s 登录成功" %self.uname return None else: casjc_config.casjc_result['管理后台用户登录'+ time.strftime("%M%S",time.localtime())] = [ self.uname, "登录失败,测试终止"] self.hailong.quit() casjc_log.logging.info("登录失败或点击页面菜单异常,终止程序") casjc_mode.Run_result(("admin","","",json.dumps(casjc_config.casjc_result,ensure_ascii=False),"")) sys.exit() return None except exceptions.TimeoutException: imagename = "后台登录" + time.strftime("%m%d%H%M%S") + '.png' self.hailong.save_screenshot(r'C:\usr\Apache24\htdocs\image\\' + imagename) casjc_config.casjc_result['管理后台用户登录'+ time.strftime("%M%S",time.localtime())] = [ self.uname, "登录失败,测试终止,查看截图 %s" %imagename] self.hailong.quit() casjc_mode.Run_result(("admin","","",json.dumps(casjc_config.casjc_result,ensure_ascii=False),"")) sys.exit() return None
def admin_home(self): try: WebDriverWait(self.hailong,casjc_config.wait_time,0.5).until(EC.visibility_of_all_elements_located((By.LINK_TEXT, '首页'))) self.hailong.find_element_by_link_text('首页').click() time.sleep(casjc_config.short_time) except: imagename = time.strftime("%m%d%H%M%S") + '.png' self.hailong.save_screenshot(r'C:\usr\Apache24\htdocs\image\\' + imagename) start_time = time.strftime("%m-%d %H:%M:%S",time.localtime()) end_time = time.strftime("%m-%d %H:%M:%S",time.localtime()) casjc_config.casjc_result['打开首页菜单'+ time.strftime("%M%S",time.localtime())] = [self.uname, "页面异常,测试终止"] casjc_mode.Run_result(("admin",start_time,end_time,json.dumps(casjc_config.casjc_result,ensure_ascii=False))) self.hailong.quit() casjc_log.logging.info("登录失败或点击页面菜单异常,终止程序, 查看截图 %s" %imagename) sys.exit() return None
def console(self): try: WebDriverWait(self.hailong,casjc_config.wait_time,0.5).until(EC.visibility_of_all_elements_located((By.CSS_SELECTOR, 'div[class="headerBarRight"]'))) WebDriverWait(self.hailong,casjc_config.wait_time,0.5).until(EC.visibility_of_all_elements_located((By.CSS_SELECTOR, 'div[class="console"]'))) time.sleep(casjc_config.short_time) self.hailong.find_elements_by_css_selector('div[class="console"]')[0].click() time.sleep(casjc_config.show_time) return None except: imagename = time.strftime("%m%d%H%M%S") + '.png' self.hailong.save_screenshot(r'C:\usr\Apache24\htdocs\image\\' + imagename) start_time = time.strftime("%m-%d %H:%M:%S",time.localtime()) end_time = time.strftime("%m-%d %H:%M:%S",time.localtime()) casjc_config.casjc_result['打开控制台'+ time.strftime("%M%S",time.localtime())] = [self.uname, "页面异常,测试终止"] casjc_mode.Run_result(("console",start_time,end_time,json.dumps(casjc_config.casjc_result,ensure_ascii=False))) self.hailong.quit() casjc_log.logging.info("登录失败或点击页面菜单异常,终止程序,查看截图 %s" %imagename) sys.exit() return None
if __name__ == "__main__": try: if sys.argv[1] == "dev": myconfig = casjc_config.devPerson['console'] env = "dev" else: myconfig = casjc_config.testPerson['console'] env = "test" except IndexError: myconfig = casjc_config.testPerson['console'] env = "test" casjc_log.logging.info(">" * 15 + " UI自动化脚本开始执行执行 " + "<" * 15) start_time = time.strftime("%Y-%m-%d %H:%M:%S", time.localtime()) Casjc_www_login() Casjc_www_mail_regist(myconfig['consoleUrl']) Casjc_www_phone_regist(myconfig['consoleUrl']) Casjc_www_try() end_time = time.strftime("%Y-%m-%d %H:%M:%S", time.localtime()) print("开始时间: " + start_time) print("结束时间: " + end_time) print(">> UI自动化脚本执行完成") print(casjc_config.casjc_result) casjc_mode.Run_result(("www", start_time, end_time, json.dumps(casjc_config.casjc_result, ensure_ascii=False), env)) casjc_log.logging.info(">" * 15 + " 模块名: www, 本次UI自动化脚本执行完成,通过页面模块筛选查看执行结果 " + "<" * 15)