免费下载歌曲的网站,wordpress获取输入框的值比较,营销公司网站模板,本地网站搭建教程说明#xff1a;本项目采用流程控制思想#xff0c;未引用unittestpytest等单元测试框架
一.项目介绍
目的
测试某官方网站登录功能模块可以正常使用
用例
1.输入格式正确的用户名和正确的密码#xff0c;验证是否登录成功#xff1b; 2.输入格式正确的用户名和不…说明本项目采用流程控制思想未引用unittestpytest等单元测试框架
一.项目介绍
目的
测试某官方网站登录功能模块可以正常使用
用例
1.输入格式正确的用户名和正确的密码验证是否登录成功 2.输入格式正确的用户名和不正确的密码验证是否登录失败并且提示信息正确 3.输入格式正确的用户名和任意密码验证是否登录失败并且提示信息正确 4.用户名和密码两者都为空验证是否登录失败并且提示信息正确 5.用户名和密码两者之一为空验证是否登录失败并且提示信息正确
环境
Windows10 Python3.6selenium3.13Pycharm
环境我想大多数人都会搭建有事没事找百度一搜一箩筐哈哈我自己刚学的时候也是各种问题各种百度好在都解决了感谢有度娘这么强大的存在这里就不写环境怎么搭建了直接进入主题
二.脚本设计
目的
我们的测试脚本需要达到脚本可移植脚本模块化测试数据分离输出测试报告 等目的
脚本设计模式 代码实现
项目目录结构 注下面的文件存放在同一个目录下 1 #! user/bin/python 2 3 代码说明麦子学院登录模块自动化测试用例脚本 4 编写日期 5 设置者linux超 6 7 8 import time 9 from selenium import webdriver 10 from webinfo import webinfo 11 from userinfo import userinfo 12 from log_fiile import login_log 13 from pathlib import Path 14 15 def open_web(): 16 driver webdriver.Firefox() 17 driver.maximize_window() 18 return driver 19 20 def load_url(driver,ele_dict): 21 driver.get(ele_dict[Turl]) 22 time.sleep(5) 23 24 def find_element(driver,ele_dict): 25 # find element 26 driver.find_element_by_class_name(ele_dict[image_id]).click() 27 if text_id in ele_dict: 28 driver.find_element_by_link_text(登录).click() 29 30 user_id driver.find_element_by_id(ele_dict[userid]) 31 pwd_id driver.find_element_by_id(ele_dict[pwdid]) 32 login_id driver.find_element_by_id(ele_dict[loginid]) 33 return user_id,pwd_id,login_id 34 35 def send_val(ele_tuple,arg): 36 # input userinfo 37 listkey [uname,pwd] 38 i 0 39 for key in listkey: 40 ele_tuple[i].send_keys() 41 ele_tuple[i].clear() 42 ele_tuple[i].send_keys(arg[key]) 43 i1 44 ele_tuple[2].click() 45 def check_login(driver,ele_dict,log,userlist): 46 result False 47 time.sleep(3) 48 try: 49 err driver.find_element_by_id(ele_dict[error]) 50 driver.save_screenshot(err.text.png) 51 log.log_write(账号:%s 密码:%s 提示信息:%s:failed\n %(userlist[uname],userlist[pwd],err.text)) 52 print(username or password error) 53 except: 54 print(login success!) 55 log.log_write(账号:%s 密码:%s :passed\n%(userlist[uname],userlist[pwd])) 56 #login_out(driver,ele_dict) 57 return True 58 return result 59 def login_out(driver,ele_dict): 60 driver.find_element_by_class_name(ele_dict[logout]).click() 61 62 def screen_shot(err): 63 i 0 64 save_path rD:\pythondcode\capture 65 capturename \\str(i).png 66 wholepath save_pathcapturename 67 if Path(save_path).is_dir(): 68 pass 69 else: 70 Path(save_path).mkdir() 71 while Path(save_path).exists(): 72 i1 73 capturename \\str(i).png 74 wholepath save_path capturename 75 err.screenshot(wholepath) 76 77 def login_test(): 78 log login_log() 79 #ele_dict {url: http://www.maiziedu.com/, text_id: 登录, user_id: id_account_l, pwd_id: id_password_l 80 #, login_id: login_btn,image_id:close-windows-btn7,error_id:login-form-tips} 81 ele_dict webinfo(rD:\pythoncode\webinfo.txt) 82 #user_list[{uname:account,pwd:pwd}] 83 user_list userinfo(rD:\pythoncode\userinfo.txt) 84 driver open_web() 85 # load url 86 load_url(driver,ele_dict) 87 #find element 88 ele_tuple find_element(driver,ele_dict) 89 # send values 90 ftitle time.strftime(%Y-%m-%d, time.gmtime()) 91 log.log_write(\t\t\t%s登录系统测试报告\n % (ftitle)) 92 for userlist in user_list: 93 send_val(ele_tuple,userlist) 94 # check login success or failed 95 result check_login(driver,ele_dict,log,userlist) 96 if result: 97 login_out(driver,ele_dict) 98 time.sleep(3) 99 ele_tuple find_element(driver,ele_dict) 100 time.sleep(3) 101 log.log_close() 102 driver.quit() 103 104 if __name__ __main__: 105 login_test() 1 #! user/bin/python 2 3 代码说明从文本文档中读取用户信息 4 编写日期 5 设置者linux超 6 7 8 import codecs 9 10 def userinfo(path): 11 file codecs.open(path,r,utf-8) 12 user_list [] 13 for line in file: 14 user_dict {} 15 result [ele.strip() for ele in line.split(;)] 16 for sult in result: 17 re_sult [ele.strip() for ele in sult.split()] 18 user_dict.update(dict([re_sult])) 19 user_list.append(user_dict) 20 return user_list 21 22 if __name__ __main__: 23 user_list userinfo(rD:\pythoncode\userinfo.txt) 24 print(user_list) 1 #! user/bin/python 2 3 代码说明从文本文档中读取web元素 4 编写日期 5 设置者linux超 6 7 8 import codecs 9 10 def webinfo(path): 11 file codecs.open(path,r,gbk) 12 ele_dict {} 13 for line in file: 14 result [ele.strip() for ele in line.split()] 15 ele_dict.update(dict([result])) 16 return ele_dict 17 18 if __name__ __main__: 19 ele_dict webinfo(rD:\pythoncode\webinfo.txt) 20 for key in ele_dict: 21 print(key,ele_dict[key]) 1 #! user/bin/python 2 3 代码说明测试输出报告 4 编写日期 5 设置者linux超 6 7 8 import time 9 10 class login_log(object): 11 def __init__(self,path,modew): 12 filename path time.strftime(%Y-%m-%d,time.gmtime()) 13 self.log open(pathfilename.txt,mode) 14 def log_write(self,msg): 15 self.log.write(msg) 16 def log_close(self): 17 self.log.close() 18 if __name__ __main__: 19 loglogin_log() 20 ftitle time.strftime(%Y-%m-%d,time.gmtime()) 21 log.log_write(xiaochao11520) 22 log.log_close() 1 uname273839363qq.com;pwdxiaochao11520 2 uname273839363;pwdxiaochao11520 3 uname ;pwdxiaochao11520 4 uname273839363qq.com;pwd 5 uname2738;pwdxiaochao 1 Turlhttp://www.maiziedu.com/ 2 text_id登录 3 useridid_account_l 4 pwdidid_password_l 5 loginidlogin_btn 6 errorlogin-form-tips 7 logoutsign_out 8 image_idclose-windows-btn7
总结
感谢每一个认真阅读我文章的人
作为一位过来人也是希望大家少走一些弯路如果你不想再体验一次学习时找不到资料没人解答问题坚持几天便放弃的感受的话在这里我给大家分享一些自动化测试的学习资源希望能给你前进的路上带来帮助。 文档获取方式 加入我的软件测试交流群680748947免费获取~同行大佬一起学术交流每晚都有大佬直播分享技术知识点
这份文档对于想从事【软件测试】的朋友来说应该是最全面最完整的备战仓库这个仓库也陪伴我走过了最艰难的路程希望也能帮助到你 以上均可以分享只需要你搜索vx公众号程序员雨果即可免费领取