Python+Selenium做自动化测试_python自动化测试目录

img
img

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化的资料的朋友,可以戳这里获取

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

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 i+=1
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 = r’D:\pythondcode\capture’
65 capturename = ‘\’+str(i)+‘.png’
66 wholepath = save_path+capturename
67 if Path(save_path).is_dir():
68 pass
69 else:
70 Path(save_path).mkdir()
71 while Path(save_path).exists():
72 i+=1
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(r’D:\pythoncode\webinfo.txt’)
82 #user_list=[{‘uname’:account,‘pwd’:pwd}]
83 user_list = userinfo(r’D:\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(r’D:\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(r’D:\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=‘’,mode=‘w’):
12 filename = path + time.strftime(‘%Y-%m-%d’,time.gmtime())
13 self.log = open(path+filename+‘.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 log=login_log()
20 ftitle = time.strftime(‘%Y-%m-%d’,time.gmtime())
21 log.log_write(‘xiaochao11520’)
22 log.log_close()



1 uname=273839363@qq.com;pwd=xiaochao11520
2 uname=273839363;pwd=xiaochao11520
3 uname= ;pwd=xiaochao11520
4 uname=273839363@qq.com;pwd=
5 uname=2738;pwd=xiaochao



1 Turl=http://www.maiziedu.com/
2 text_id=登录
3 userid=id_account_l
4 pwdid=id_password_l
5 loginid=login_btn
6 error=login-form-tips
7 logout=sign_out
8 image_id=close-windows-btn7



![img](https://img-blog.csdnimg.cn/img_convert/653ccc5173214e6ac92246ced00e7521.png)
![img](https://img-blog.csdnimg.cn/img_convert/7b9338c8463f8d1be876d927a1756ce2.png)
![img](https://img-blog.csdnimg.cn/img_convert/9ce414dc64538cceddfe09eb5749ea02.png)

**既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上软件测试知识点,真正体系化!**

**由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新**

**[需要这份系统化的资料的朋友,可以戳这里获取](https://bbs.csdn.net/topics/618631832)**

*既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上软件测试知识点,真正体系化!**

**由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新**

**[需要这份系统化的资料的朋友,可以戳这里获取](https://bbs.csdn.net/topics/618631832)**

  • 4
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值